Compilerwarnung (Stufe 1) CS1720
Aktualisiert: November 2007
Fehlermeldung
Der Ausdruck führt immer zu System.NullReferenceException, da der Standardwert von "generischer Typ" NULL ist.
Expression will always cause a System.NullReferenceException because the default value of 'generic type' is null
Dieser Fehler tritt auf, wenn Sie einen Ausdruck schreiben, der den Standardwert einer generischen Typvariablen enthält, die einen Referenztyp darstellt (z. B. eine Klasse). Betrachten Sie hierzu den folgenden Ausdruck:
default(T).ToString()
Da T ein Referenztyp ist, ist sein Standardwert NULL. Beim Versuch, die ToString-Methode darauf anzuwenden, wird NullReferenceException ausgegeben.
Beispiel
Mit der Klassenverweiseinschränkung für Typ T wird sichergestellt, dass T ein Referenztyp 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() {}
}