新约束 (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()
{  }

有关详细信息,请参阅类型参数的约束

还可以使用 new 关键字 创建类型实例 或作为 成员声明修饰符

C# 语言规范

有关详细信息,请参阅 C# 语言规范Type 参数约束部分。

另请参阅