Поделиться через


новое ограничение (справочник по 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#

Дополнительные сведения см. в разделе ограничений параметров Type спецификацииязыка C#.

См. также