Compilerfehler CS0815

Aktualisiert: November 2007

Fehlermeldung

"Ausdruck" kann keiner implizit typisierten lokalen Variablen zugeordnet werden.
Cannot assign 'expression' to an implicitly typed local

Ein Ausdruck, der als Initialisierer für eine implizit typisierte Variable verwendet wird, muss einen Typ aufweisen. Da anonyme Funktionsausdrücke, Methodengruppenausdrücke und der NULL-Literal-Ausdruck keinen Typ haben, sind sie nicht als Initialisierer geeignet. Eine implizit typisierte Variable kann nicht mit einem NULL-Wert in der Deklaration initialisiert werden, auch wenn ihr später ein Null-Wert zugewiesen werden kann.

So beheben Sie diesen Fehler

  • Stellen Sie einen expliziten Typ für die Variable bereit.

Beispiel

Durch den folgenden Code wird der Fehler CS0815 ausgelöst:

// 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;
    }
}

Siehe auch

Referenz

Implizit typisierte lokale Variablen (C#-Programmierhandbuch)