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.
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 zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: