Errore del compilatore CS0815

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile assegnare 'espressione' a una variabile locale tipizzata in modo implicito
Cannot assign 'expression' to an implicitly typed local

Un'espressione utilizzata come inizializzatore per una variabile tipizzata in modo implicito deve avere un tipo. Le espressioni di funzione anonime, le espressioni di gruppi di metodi e le espressioni letterali null non hanno un tipo, pertanto non sono inizializzatori adatti. Non è possibile inizializzare una variabile tipizzata in modo implicito con un valore null nella dichiarazione, anche se un valore null può essere assegnato in un secondo momento.

Per correggere l'errore

  • Fornire un tipo esplicito per la variabile.

Esempio

Nel codice seguente viene generato l'errore CS0815:

// cs0815.cs
class Test
{
    public static int Main()
    {
        var d = s => -1; // CS0815
        var e = (string s) => 0; // CS0815
        var p = null;//CS0815
        var del = delegate(string a) { return -1; };// CS0815
        return -1;
    }
}

Vedere anche

Riferimenti

Variabili locali tipizzate in modo implicito (Guida per programmatori C#)