Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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() {}
}