Ler em inglês

Compartilhar via


Erro do Compilador CS0815

Não é possível atribuir 'expressão' a um local implicitamente tipado

Uma expressão usada como inicializador para uma variável digitada implicitamente deve ter um tipo. Como expressões de função anônima, de grupo de métodos e a expressão literal nula não têm um tipo, elas não são inicializadores apropriados. Uma variável tipada implicitamente não pode ser inicializada com valor nulo em sua declaração, embora posteriormente possa receber um valor nulo. Com o C#, versão 10, expressões lambda e grupos de métodos com tipos naturais podem ser usados como inicializadores em declarações var.

Para corrigir este erro

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

Exemplo

O código a seguir gera o erro 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;  
    }  
}  

Confira também