new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数,如下面的示例所示:

 CopyCode image复制代码
class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

当与其他约束一起使用时,new() 约束必须最后指定:

 CopyCode image复制代码
using System;
public class ItemFactory<T>
    where T : IComparable, new()
{
}

有关更多信息,请参见类型参数的约束(C# 编程指南)

Expand 图像C# 语言规范

Expand image请参见