CS0304 de erro do compilador

Mensagem de erro

Não é possível criar uma instância do tipo de variável 'type' porque ele não tem a restrição new()

Este erro ocorre se você usar o novo para criar uma instância de uma variável de tipo quando a variável do tipo não especifica o restrição New().Não é possível usar novas para invocar diretamente o construtor para um tipo desconhecido, a menos que a restrição new() seja usada para garantir a existência de um construtor padrão.Se você não pode usar a nova restrição, considere o uso de um TypeOf expressão para acessar o construtor desejado.

O exemplo a seguir gera CS0304:

// CS0304.cs
// compile with: /target:library
class C<T>
{
   T t = new T();   // CS0304
}

A nova demonstrativo desse formulário também não é permitida em métodos da classe:

// CS0304_2.cs
// compile with: /target:library
class C<T>
{
   public void f()
   {
      T t = new T();  // CS0304
   }
}