Partager via


Erreur du compilateur CS0832

Mise à jour : novembre 2007

Message d'erreur

Une arborescence d'expression peut ne pas contenir d'opérateur d'assignation.
An expression tree may not contain an assignment operator.

Une arborescence d'expression ne conserve pas l'état de variable ou n'a aucun concept d'emplacement de stockage.

Pour corriger cette erreur

  • Supprimez l'opérateur d'assignation de l'expression lambda ou de requête.

Exemple

Dans l'exemple de code, comme dans toutes les expressions lambda, x est juste un paramètre d'entrée qui est passé par valeur. Sa valeur ne peut pas être modifiée dans une arborescence d'expression. Elle peut être modifiée dans un lambda de délégué.

// 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;
    }
}