Błąd kompilatora CS0815
Nie można przypisać wyrażenia do niejawnie wpisanego lokalnego
Wyrażenie, które jest używane jako inicjator dla niejawnie typizowanej zmiennej, musi mieć typ. Ponieważ anonimowe wyrażenia funkcji, wyrażenia grupy metod i wyrażenie literału null nie mają typu, nie są one odpowiednimi inicjatorami. Niejawnie typizowanej zmiennej nie można zainicjować z wartością null w deklaracji, chociaż później można przypisać jej wartość null.
W języku C# w wersji 10 wyrażenia lambda i grupy metod z typami naturalnymi mogą być używane jako inicjatory w var
deklaracjach.
- Podaj jawny typ zmiennej.
- Możesz też określić typy naturalne w języku C# w wersji 10 lub nowszej.
Poniższy kod generuje 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;
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: