现在的位置: 首页 > 综合 > 正文

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

2013年06月21日 ⁄ 综合 ⁄ 共 499字 ⁄ 字号 评论关闭

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值

抱歉!评论已关闭.