CS0832 de erro do compilador

Mensagem de erro

Uma árvore de expressão não pode conter um operador de atribuição.

Uma árvore de expressão não preservar o estado de variável ou ter nenhum conceito de um local de armazenamento.

Para corrigir este erro

  • Remova o operador de atribuição da expressão lambda ou de consulta.

Exemplo

O código de exemplo, sistema autônomo em todas sistema autônomo expressões lambda, x apenas um parâmetro de entrada está sendo passado por valor. Seu valor não pode ser alterado em uma árvore de expressão.Ele pode ser alterado lambda um 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;
    }
}