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必须有一个默认的构造函数.但在所有情况下,这都是有帮助的.
我已经通过了这个链接
MSDN自己的网页上where T : new()列出了最常见的情况:
当泛型类创建该类型的新实例时,将新约束应用于类型参数,如以下示例所示:
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
Run Code Online (Sandbox Code Playgroud)
约束还要求无参数构造函数是公共的.