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()
{
}
有关更多信息,请参见 类型参数的约束(C# 编程指南)。
C# 语言规范
有关详细信息,请参阅 C# 语言规范。该语言规范是 C# 语法和用法的权威资料。