有没有一种方法可以实例化一个类,但不是通过其类名,而是使用Class'类型? 可能/可能使用“转换”或“反射”。
例如我有一个类,通常根据它创建一个实例。
TCustDataDetailModel newDataDetail = new TCustDataDetailModel ();
但是我希望能够像..
public void MyFunction (Type somePassedinParamType)
{
somePassedinParamType newDataDetail = new somePassedinParamType();
}
thx
答案 0 :(得分:0)
您需要使用Activator
类。
public void MyFunction (Type somePassedinParamType)
{
var newInstance = Activator.CreateInstance(somePassedinParamType);
}
请注意,如果您没有一个空的构造函数,则需要使用CreateInstance
的替代之一,并传递类所需的内容。