如何根据要实例化的类的变量类型实例化一个类

时间:2020-04-29 12:33:25

标签: c# class type-conversion instantiation converters

有没有一种方法可以实例化一个类,但不是通过其类名,而是使用Class'类型? 可能/可能使用“转换”或“反射”。

例如我有一个类,通常根据它创建一个实例。

TCustDataDetailModel newDataDetail = new TCustDataDetailModel ();

但是我希望能够像..

public void MyFunction (Type somePassedinParamType)
{
    somePassedinParamType newDataDetail  = new somePassedinParamType();

}

thx

1 个答案:

答案 0 :(得分:0)

您需要使用Activator类。

public void MyFunction (Type somePassedinParamType)
{
    var newInstance = Activator.CreateInstance(somePassedinParamType);    
}

请注意,如果您没有一个空的构造函数,则需要使用CreateInstance的替代之一,并传递类所需的内容。