直接实例化对象和用反射来实例化对象
首先新建一个内库项目CAO.Assemby.MyDLL ,添加一个类MyTest如下:
MyTest.cs
namespace CAO.Assemby.MyDLL { public class MyTest { public string Test() { return "老婆我爱你!"; } } }
添加一个控制台程序:CAO.Assemby.Test,并把CAO.Assemby.MyDLL 库内中的CAO.Assemby.MyDLL.dll文件添加
到项目中;
namespace CAO.Assemby.Test { /// <summary> /// 直接实例化对象和用反射来实例化对象 /// </summary> class Program { static void Main(string[] args) { RefLoad(); // aa(); } /// <summary> /// 直接加载程序集 /// </summary> public static void aa() { MyDLL.MyTest t = new CAO.Assemby.MyDLL.MyTest(); Console.WriteLine(t.Test()); } /// <summary> /// 用反射来实例化对象 /// </summary> public static void RefLoad() { Assemby.MyDLL.MyTest t = (Assemby.MyDLL.MyTest)System.Reflection.Assembly.Load("CAO.Assemby.MyDLL"). CreateInstance("CAO.Assemby.MyDLL.MyTest"); Console.WriteLine(t.Test()); } } }