天天看點

C#中的Assembly程式集類

Assembly程式集類

class MyClass
{
    private int id;
    private int age;
    public int number;
    public string Name1{get;set;}
    public string Name2{get;set;}
    public string Name3{get;set;}

    public void Test1(){
    }
    public void Test2(){
    }
}
           
MyClass my = new MyClass();
Assembly assem = my.GetType().Assembly; //通過類的type對象擷取它所在的程式集 Assembly
Console.WriteLine(assem.FullName);      //擷取一個程式集的完整的名稱
Type[] types = assem.GetTypes();        //目前程式集下所有的類名

foreach(var type in types)
    Console.WriteLine(type);
//輸出為MyClass 和 Program
           

如何加載程式集

方法1:

//根據程式集的名字加載程式集,它會在本地目錄和全局程式緩存目錄中查找符合名字的程式集
Assembly assembly1 = Assembly.Load("SomeAssembly");
           

方法2:

//這裡的參數是程式集的完整的路徑名,它不會再其他的位置搜尋
Assembly assembly2 = Assembly.LoadFrom(@"c:\xx\xx\xx\SomeAssembly.dll");