1.用什麼方法可以獲得工程屬性Application中Assembly Name的值
在VB.NET中用My.Application.Info.AssemblyName的方法可以獲得,但在C#卻找不到獲取的方法
2.用什麼方法可以判斷某一窗體是否已加載或是憶關閉,用全局變量的方法除外其中第二點憶經在http://community.csdn.net/Expert/topic/5723/5723626.xml?temp=.3206446發過問,解決者一起給分謝謝!
在VB.NET中用My.Application.Info.AssemblyName的方法可以獲得,但在C#卻找不到獲取的方法
2.用什麼方法可以判斷某一窗體是否已加載或是憶關閉,用全局變量的方法除外其中第二點憶經在http://community.csdn.net/Expert/topic/5723/5723626.xml?temp=.3206446發過問,解決者一起給分謝謝!
System.Reflection.AssemblyName
base {object}: object
Assembly b = Assembly.LoadFrom(@"D:\SharedDemo\SharedDemo\bin\Debug\SharedDemo.dll");
Textbox1.Text=b.FullName;显示的结果为:SharedDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d8f0f952aa7c37d7你自己截取一下,第一个就是拉。哈哈。
这个当然不要说了,加上。
如果要用截取的方法就用不著你那麼復雜了
在Assembly中有一FullName就可以得你說的那一串字符,用不著指定具體的文件名To:Houluoxuan_168()
第一個問題用你的方法再試試
第二個問題顯然是行不通的
在VB中可以直接用窗體對象與Nothing做比較,而在C#中直接與null做比較時就會出現:'窗體名' is a 'type' but is used like a 'variable'的錯誤
如果不用全局变量的话,我觉得应该可以在当前的应用程序域中,查看是否有Type为你所要的那个窗体的类型。
Assembly asm=Assembly.GetExecutingAssembly();
foreach(Type t1 in asm.GetTypes())
{
Console.WriteLine(t1.FullName);
}
查看t1.FullName 是否等于你所要的那个窗体对象的名称就好。
但是你要试一下窗体销毁以后是否还依然存在,因为我担心垃圾回收器没有及时回收。