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

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

Aplique a new restrição a um parâmetro type 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 em parâmetros de tipo.

Você também pode usar a new palavra-chave 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, consulte a seção Type parameter constraints da especificação da linguagem C#.

Consulte também