Erro do Compilador CS0403
Não é possível converter nulo para o parâmetro de tipo "name" porque pode ser um tipo de valor não anulável. Em vez disso, considere usar o padrão ("T").
Você não pode atribuir nulo ao tipo desconhecido nomeado porque ele pode ser um tipo de valor, que não permite atribuição nula. Se a classe genérica não se destina a aceitar tipos de valor, use a restrição de tipo de classe. Se ela puder aceitar tipos de valor, como os tipos internos, você poderá substituir a atribuição para nulo pela expressão default(T)
, conforme mostrado no exemplo a seguir.
O exemplo a seguir gera o erro 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
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: