Compilerwaarschuwing (niveau 1) CS1720
Expressie veroorzaakt altijd een System.NullReferenceException omdat de standaardwaarde van 'generic type' null is
Als u een expressie schrijft met de standaardwaarde van een algemene typevariabele die een verwijzingstype is (bijvoorbeeld een klasse), treedt deze fout op. Houd rekening met de volgende expressie:
default(T).ToString()
Omdat T
dit een verwijzingstype is, is de standaardwaarde null en wordt er dus geprobeerd NullReferenceExceptionde ToString methode toe te passen.
De beperking voor klassereferenties voor het type T
zorgt ervoor dat dit T
een verwijzingstype is.
In het volgende voorbeeld wordt CS1720 gegenereerd.
// 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() {}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: