Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
L'espressione determinerà sempre un'eccezione System.NullReferenceException perché il valore predefinito di 'tipo generico' è null.
Expression will always cause a System.NullReferenceException because the default value of 'generic type' is null
Questo errore si verifica quando in un'espressione si fa riferimento al valore predefinito di una variabile di un tipo generico che è un tipo di riferimento, ad esempio una classe. Si consideri la seguente espressione:
default(T).ToString()
Poiché T è un tipo di riferimento, il valore predefinito corrispondente è null. Ogni tentativo di applicare il metodo ToString a T genererà un'eccezione NullReferenceException.
Esempio
Il vincolo di riferimento di classe sul tipo T garantisce che T è un tipo di riferimento.
Il seguente codice di esempio genera l'avviso CS1720.
// 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() {}
}