Ler em inglês

Partilhar via


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.

Para corrigir este erro

  1. Forneça um tipo explícito para a variável.
  2. Ou especifique tipos naturais com C# versão 10 e superior.

Exemplo

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

Consulte também