Lire en anglais

Partager via


Avertissement du compilateur (niveau 1) CS1720

L’expression provoquera toujours un System.NullReferenceException, car la valeur par défaut de 'generic type' est null

Si vous écrivez une expression qui implique la valeur par défaut d’une variable de type générique correspondant à un type référence (par exemple, une classe), cette erreur se produit. Prenons l'expression suivante :

default(T).ToString()  

Étant donné que T est un type référence, sa valeur par défaut est Null ; par conséquent, si vous tentez de lui appliquer la méthode ToString , cela lève une NullReferenceException.

Exemple

La contrainte de référence de classe sur le type T garantit que T est un type référence.

L’exemple suivant génère l’avertissement CS1720.

// CS1720.cs  
using System;  
public class Tester
{  
    public static void GenericClass<T>(T t1) where T : class
    {  
        Console.WriteLine(default(T).ToString());  // CS1720  
    }  
    public static void Main() {}  
}