这个问题在这里已有答案:
我有一个泛型类,我想用泛型类型实例化一个对象 . 我想为类型的构造函数使用一个参数 .
我的代码:
public class GenericClass<T> where T : Some_Base_Class, new()
{
public static T SomeFunction(string s)
{
if (String.IsNullOrEmpty(s))
return new T(some_param);
}
}
我得到了一个错误
new T(some_param)
'T':在创建变量类型的实例时无法提供参数
任何想法我怎么能这样做?
1 回答
看看Activator.CreateInstance . 例如:
显然,将
null
替换为该类型的一个构造函数所期望的适当值 .如果收到有关
cannot convert object to type T
的编译器错误,则包括as T
: