Ограничение 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#.