C# 利用反射动态创建对象

时间:2022-01-17 19:25:27

Activator.CreateInstance(Type.GetType("你的类名"))

反射动态创建对象:
如果A与执行代码同一个程序集.则可以这样调用
System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("命名空间.类名", false);
如:
object o = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("MyNameSpace.A", false);

不同程序集的话.则要装载调用.如下:
System.Reflection.Assembly.Load("程序集名称").CreateInstance("命名空间.类名", false);
如:
object o = System.Reflection.Assembly.Load("MyDll").CreateInstance("MyNameSpace.A", false);


动态创建后再将o强制转换为IChar接口,如下:
IChar ichar = o as IChar;

如果转换失败则ichar为null值