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#.

Confira também