Partager via


Erreur du compilateur CS1946

Mise à jour : novembre 2007

Message d'erreur

Une expression de méthode anonyme ne peut pas être convertie en arborescence d'expression.
An anonymous method expression cannot be converted to an expression tree.

Une méthode anonyme représente un jeu d'instructions mais une arborescence d'expression ne doit pas contenir d'instruction. Par conséquent, une méthode anonyme ne peut pas être représentée par une arborescence d'expression.

Pour corriger cette erreur

  • Modifiez la méthode anonyme en une expression lambda.

Exemple

L'exemple suivant génère l'erreur CS1946 :

// cs1946.cs
using System;
    using System.Linq.Expressions;

    public delegate void D();

    class Test
    {
        static void Main()
        {
            Expression<D> tree = delegate() { }; //CS1946
            // Try using a lambda expression instead.
            // Expression<D> tree = (x) => x + 1;
        }
    }

Voir aussi

Concepts

Arborescences d'expression

Référence

Méthodes anonymes (Guide de programmation C#)