Compartilhar via


CS0403 de erro do compilador

Mensagem de erro

Não é possível converter nulo para 'nome' do parâmetro de tipo porque ele pode ser um tipo de valor não nulo.Considere o uso de padrão('T').

Não é possível atribuir nulo para o tipo desconhecido chamado porque pode ser um tipo de valor, que não permite a atribuição nula.Se sua classe genérica não se destina a aceitar os tipos de valor, use a restrição de tipo de classe.Se ele pode aceitar sistema autônomo tipos de valor, sistema autônomo sistema autônomo tipos internos, talvez seja possível substituir a atribuição para nulo com a expressão default(T), conforme mostrado no exemplo a seguir.

Exemplo

O exemplo a seguir gera CS0403.

// CS0403.cs
// compile with: /target:library
class C<T>
{
   public void f()
   {
      T t = null;  // CS0403
      T t2 = default(T);   // OK
    }
}

class D<T> where T : class 
{
   public void f()
   {
      T t = null;  // OK
    }
}