new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数,如下面的示例所示:
复制代码 | |
|---|---|
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
} | |
当与其他约束一起使用时,new() 约束必须最后指定:
复制代码 | |
|---|---|
using System;
public class ItemFactory<T>
where T : IComparable, new()
{
} | |
有关更多信息,请参见类型参数的约束(C# 编程指南)。