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
}
}