约束 new
指定泛型类或方法声明中的类型参数必须具有公共无参数构造函数。 若要使用 new
约束,类型不能是抽象的。
当泛型类创建新类型的实例时,将 new
约束应用于类型参数,如以下示例所示:
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
将 new()
约束与其他约束一起使用时,必须最后指定它:
public class ItemFactory2<T>
where T : IComparable, new()
{ }
有关详细信息,请参阅类型参数的约束。
还可以使用 new
关键字 创建类型实例 或作为 成员声明修饰符。
C# 语言规范
有关详细信息,请参阅 C# 语言规范的 Type 参数约束部分。