Restrição new (Referência em C#)
A restrição new
especifica que um argumento de tipo em uma declaração de classe ou método genérica deve ter um construtor público sem parâmetros. Para usar a restrição new
, o tipo não pode ser abstrato.
Aplique a restrição new
a um parâmetro de tipo quando uma classe genérica criar 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 restrição new()
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 palavra-chave new
para criar uma instância de um tipo ou como um modificador de declaração de membro.
Especificação da linguagem C#
Para obter mais informações, confira a seção Restrições de parâmetro de tipo na Especificação da linguagem C#.