Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

CS0304 Error Compiler

Mensagem de erro

Cannot Criar an instância of the variável tipo 'tipo' because it does not have the restrição Novo()

This Error Occurs If You Use Novo to Criar an instância of a variável tipo When that variável tipo doesn't especificar the Novo() restrição.You Cannot Use invocar Novo directly to the construtor for an tipo Desconhecido unless the restrição Novo() Is Used to Guarantee the existence of a construtor usar como padrão.If You Cannot Use the Novo restrição, consider using a expressão typeof https://msdn.microsoft.com/pt-br/library/58918ffs(v=vs.80) to the desired construtor acessar.

The seguinte exemplo generates CS0304:

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

The Novo instrução of this Formulário also Is Not Allowed in Métodos classe:

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