Leer en inglés

Compartir a través de


Error del compilador CS0815

No se puede asignar 'expresión' a una variable local con tipo implícito.

Una expresión que se usa como inicializador de una variable con tipo implícito debe tener un tipo. Dado que las expresiones de función anónima, las expresiones de grupo de métodos y la expresión literal NULL no tienen tipo, no son inicializadores adecuados. No se puede inicializar una variable con tipo implícito con un valor nulo en su declaración, aunque se puede asignar más adelante un valor nulo. Con expresiones lambda de la versión 10 de C# y grupos de métodos con tipos naturales se pueden usar como inicializadores en declaraciones var.

Para corregir este error

  1. Proporcione un tipo explícito para la variable.
  2. O bien, especifique tipos naturales con versión 10 y versiones posteriores de C#.

Ejemplo

El código siguiente genera el error 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 también