Errore del compilatore CS0834

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile convertire un'espressione lambda con il corpo di un'istruzione in una struttura ad albero dell'espressione.
A lambda expression must have an expression body to be converted to an expression tree.

Le espressioni lambda convertite in strutture ad albero dell'espressione devono essere espressioni lambda dell'espressione; le espressioni lambda e metodi anonimi dell'istruzione possono essere convertiti solo in tipi delegati.

Per correggere l'errore

  • Rimuovere l'istruzione dall'espressione lambda.

Esempio

Nell'esempio seguente viene generato l'errore CS0834:

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

public class C
{
    public static int Main()
    {
        Expression<Func<int, int>> e = x => { return x; }; // CS0834
    }
}