Поделиться через


Ошибка компилятора CS0834

Обновлен: Ноябрь 2007

Сообщение об ошибке

Лямбда-выражение должно иметь основную часть выражения для преобразования в дерево выражения.
A lambda expression must have an expression body to be converted to an expression tree.

Лямбды операторов для преобразования в дерево выражения должны быть лямбда-выражениями, лямбды операторов и анонимные методы могут быть преобразованы только в типы делегатов.

Исправление данной ошибки

  • Удалите оператор из лямбда-выражения.

Пример

В следующем примере возникает ошибка 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
    }
}