Compartilhar via


nova restrição (Referência de C#)

A new restrição especifica que um argumento de tipo em uma declaração de classe ou método genérico deve ter um construtor público sem parâmetros. Para usar a new restrição, o tipo não pode ser abstrato.

Aplique a new restrição a um parâmetro de tipo quando uma classe genérica cria novas instâncias do tipo, conforme mostrado no exemplo a seguir:

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

Quando você usa a new() restrição com outras restrições, ela deve ser especificada por último:

public class ItemFactory2<T>
    where T : IComparable, new()
{  }

Para obter mais informações, consulte Restrições a parâmetros de tipo.

Você também pode usar a new palavra-chave para criar uma instância de um tipo ou como modificador de declaração de membro.

Especificação da linguagem C#

Para obter mais informações, consulte a seção Restrições de parâmetro type da especificação da linguagem C#.

Consulte também