Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0815

Výraz nelze přiřadit implicitně zadanému místnímu prostředí.

Výraz, který se používá jako inicializátor pro implicitně typovanou proměnnou, musí mít typ. Vzhledem k tomu, že anonymní výrazy funkce, výrazy skupiny metod a literál null nemají typ, nejsou vhodné inicializátory. Implicitně zadaná proměnná nemůže být inicializována s hodnotou null v jeho deklaraci, i když může být později přiřazena hodnota null. V jazyce C# verze 10 Výrazy Lambda a skupiny metod s přirozenými typy lze použít jako inicializátory v var deklaracích.

Oprava této chyby

  1. Zadejte explicitní typ proměnné.
  2. Nebo zadejte přirozené typy s C# verze 10 a vyšší.

Příklad

Následující kód vygeneruje CS0815:

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

Viz také