Partager via


Erreur du compilateur CS0403

Mise à jour : novembre 2007

Message d'erreur

Impossible de convertir null en paramètre de type 'nom', car il peut s'agir d'un type valeur non nullable. Si possible, utilisez default('T') à la place.
Cannot convert null to type parameter 'name' because it could be a non-nullable value type. Consider using default('T') instead.

Vous ne pouvez pas assigner null au type inconnu nommé, car il peut s'agir d'un type valeur qui n'autorise pas l'assignation de null. Si votre classe générique n'est pas destinée à accepter des types valeur, utilisez la contrainte de type classe. Si elle peut accepter des types valeur (tels que des types intégrés), vous pouvez remplacer l'assignation de null par l'expression default(T), comme l'illustre l'exemple suivant.

Exemple

L'exemple suivant génère l'erreur 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
    }
}