new 约束(C# 参考)
new
约束指定泛型类或方法声明中的类型实参必须有公共的无参数构造函数。 若要使用 new
约束,则该类型不能为抽象类型。
当泛型类创建类型的新实例时,请将 new
约束应用于类型参数,如下面的示例所示:
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
当与其他约束一起使用时,new()
约束必须最后指定:
public class ItemFactory2<T>
where T : IComparable, new()
{ }
有关详细信息,请参阅类型参数的约束。