Erro do compilador CS0815
Não é possível atribuir 'expressão' a um local digitado implicitamente
Uma expressão que é usada como inicializador para uma variável digitada implicitamente deve ter um tipo. Como expressões de função anônimas, expressões de grupo de método e a expressão literal nula não têm um tipo, elas não são inicializadores apropriados. Uma variável digitada implicitamente não pode ser inicializada com um valor nulo em sua declaração, embora posteriormente possa ser atribuído um valor de null.
Com o C# versão 10, expressões do Lambda e grupos de métodos com tipos naturais podem ser usados como inicializadores em var
declarações.
- Forneça um tipo explícito para a variável.
- Ou especifique tipos naturais com C# versão 10 e superior.
O código a seguir gera 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;
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: