C#中的反射(一)

很多时候需要根据类的信息来创建实例,需要通过带参数的构造函数来创建实例的例子如下:
string assemblyFile;
string implClass;
string[] impCtorSig;//构造函数的参数类型数组例如“System.String”等
protected object CreateInstance(object[] ctorArgs)
{
      //Load Assembly
       Assembly ass = Assembly.LoadFrom(assemblyFile);
      //Get Class,必须是带命名空间的类名
       Type t = ass.GetType(implClass);
      //构造函数的参数类型
       Type[] ctorSigArr = Type.GetTypeArray(implCtorSig);
      //得到构造函数信息
       ConstructorInfo ctorInfo = t.GetConstructor(ctorSigArr);
      //通过参数列表构造实例
       return ctorInfo.Invoke(ctorArgs);    
}
比较常见的不通过构造函数来创建对象实例的方式是:
object o  = Activator.CreateInstance(t);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值