我该如何调用构造函数?

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)

cdh*_*wie 7

是的,只需在Type对象后面提供构造函数参数,如下所示:

object result = Activator.CreateInstance(typeof(T), arg1, arg2, ...);
Run Code Online (Sandbox Code Playgroud)