在"public T SomeMethod <T>(字符串项)中使用new()的用例有哪些?T:new();"

Sha*_*pta 1 c# oop generics design-patterns

我试图确定在声明various uses cases中使用new()

public T SomeMethod<T>(string item) where T : new();
Run Code Online (Sandbox Code Playgroud)

我知道编译器会确保T必须有一个默认的构造函数.但在所有情况下,这都是有帮助的.

我已经通过了这个链接

Typ*_*eIA 5

MSDN自己的网页where T : new()列出了最常见的情况:

当泛型类创建该类型的新实例时,将新约束应用于类型参数,如以下示例所示:

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}
Run Code Online (Sandbox Code Playgroud)

约束还要求无参数构造函数是公共的.