2010-12-01 94 views
1

我动态地创建我使用此调用构建自定义LINQ提供程序我对象的实例:我该如何调用构造函数?

object result = Activator.CreateInstance(typeof(T)); 

我的T型实现了有一个构造采取另一种对象的实例抽象类(T实质上一个包装)。我的问题是 - 有没有办法,我可以明确地调用非默认的构造函数,所以我可以摆脱这样的:

MyEntity entity = result as MyEntity; 
if(entity != null) 
    entity.UnderlyingEntity = e; //where e is what I am wrapping 

回答

7

是,就在Type对象后提供构造函数的参数,就像这样:

object result = Activator.CreateInstance(typeof(T), arg1, arg2, ...); 
+0

很凉爽,比我想象的更简单! – dexter 2010-12-01 16:16:28

1

你可以只调用object result = Activator.CreateInstance(typeof(T), e);

相关问题