Error del compilador CS0832
Actualización: noviembre 2007
Mensaje de error
Un árbol de expresión no puede contener un operador de asignación.
An expression tree may not contain an assignment operator.
Un árbol de expresión no mantiene el estado variable ni tiene ningún concepto de ubicación de almacenamiento.
Para corregir este error
- Quite el operador de asignación de la expresión lambda o de consulta.
Ejemplo
En el código de ejemplo, como en todas las expresiones lambda, x es simplemente un parámetro de entrada que se pasa por valor. Su valor no se puede cambiar en un árbol de expresión. Se puede cambiar en una expresión lambda de delegado.
// cs0843.cs
using System;
using System.Linq;
using System.Linq.Expressions;
public class C
{
public static int Main()
{
Expression<Func<int, int>> e = x => x += 5; // CS0843
return 1;
}
}