【发布时间】:2014-08-14 13:11:06
【问题描述】:
我在 .Net 3.5 中工作,查看 Activator.CreateInstance 的所有各种构造函数。我想创建一个类的实例,调用一个特定的构造函数。我没有类类型,只有它的名称。我有以下内容,它有效,但实际上首先调用无参数构造函数,然后是我想要的。这没什么大不了的,但是无参数构造函数调用了一个相当繁忙的基本构造函数,而我要调用的构造函数也是。
也就是说,给定一个类型,带参数调用 CreateInstance 很简单(只有下面的最后两行),但是只给一个类型名称,还有比这更好的方法吗?
ObjectHandle oh = Activator.CreateInstance( "MyDllName", "MyNS." + "MyClassName" );
object o = oh.Unwrap( );
object newObj = Activator.CreateInstance( o.GetType( ), new object[] { param1 } );
return ( IMyDesiredObject )newObject;
谢谢!
【问题讨论】:
标签: c#