我有以下内容:
GenericClass<T> : Class
{
T Results {get; protected set;}
public GenericClass<T> (T results, Int32 id) : base (id)
{
Results=results;
}
public static GenericClass<T> Something (Int32 id)
{
return new GenericClass<T> (i need to pass something like new T?, id);
}
}
Update T可以是类型,也可以是值,因此对于某些类型,可以使用new(),但对于值绝对不是。我想那将意味着需要重新设计类。
想法是如何使用构造函数?例如,是否可以传递类似于新T的内容(尽管不应该传递,因为当时T不知道),或者为避免传递空值又会如何呢?
最佳答案
class GenericClass<T> : Class where T : new()
{
public T Results {get; protected set;}
public GenericClass (T results, Int32 id) : base (id)
{
Results=results;
}
public static GenericClass<T> Something (Int32 id)
{
return new GenericClass<T> (new T(), id);
}
}
关于c# - C#中的通用构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4390526/