dex*_*ter 1 c# generics constructor
我在使用此调用构建的自定义linq提供程序中动态创建对象的实例:
object result = Activator.CreateInstance(typeof(T));
Run Code Online (Sandbox Code Playgroud)
我的T类型实现了一个抽象类,它有一个构造函数来获取另一个对象的实例(T本质上是一个包装器).我的问题是 - 有没有一种方法可以显式调用非默认构造函数,所以我可以摆脱这个:
MyEntity entity = result as MyEntity;
if(entity != null)
entity.UnderlyingEntity = e; //where e is what I am wrapping
Run Code Online (Sandbox Code Playgroud)
是的,只需在Type对象后面提供构造函数参数,如下所示:
object result = Activator.CreateInstance(typeof(T), arg1, arg2, ...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |