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
'variabile' è di tipo 'tipo'. Un campo const di un tipo di riferimento diverso da una stringa può essere inizializzato solo con valori null.
'variable' is of type 'type'. A const field of a reference type other than string can only be initialized with null.
Un'espressione costante è un'espressione che può essere valutata per intero in fase di compilazione. Poiché l'unico modo per creare un valore non null di un tipo di riferimento consiste nell'applicare un nuovo operatore e poiché il nuovo operatore non è consentito in un'espressione costante, l'unico valore possibile per le costanti dei tipi di riferimento diversi da string è null.
Se si verifica questo errore quando si tenta di creare una matrice di stringhe const, la soluzione consiste nel creare la matrice readonly e inizializzarla nel costruttore.
Esempio
Il seguente esempio genera l'avviso CS0134.
// CS0134.cs
// compile with: /target:library
class MyTest {}
class MyClass
{
const MyTest test = new MyTest(); // CS0134
//OK
const MyTest test2 = null;
const System.String test3 = "test";
}