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

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

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

C# 语言规范

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

另请参阅