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

См. также