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() {}
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für