Auf Englisch lesen

Freigeben über


Compilerwarnung (Stufe 1) CS1720

Der Ausdruck führt immer zu System.NullReferenceException, da der Standardwert von "generischer Typ" NULL ist.

Der Fehler tritt auf, wenn Sie einen Ausdruck schreiben, der den Standardwert einer Variablen des generischen Typs enthält, die ein Verweistyp (z. B. eine Klasse) ist. Betrachten Sie hierzu den folgenden Ausdruck:

default(T).ToString()  

Da T ein Verweistyp ist, lautet der Standardwert NULL. Beim Versuch, die ToString -Methode anzuwenden, wird deshalb eine NullReferenceExceptionausgelöst.

Beispiel

Durch die Klassenverweiseinschränkung für Typ T wird sichergestellt, dass T ein Verweistyp ist.

Im folgenden Beispiel wird CS1720 generiert.

// 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() {}  
}