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
.
- Proporcione un tipo explícito para la variable.
- O bien, especifique tipos naturales con versión 10 y versiones posteriores de C#.
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;
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: