pjank42 Ответов: 1

Дерево выражений печати


Привет
Я пытаюсь "распечатать" дерево выражений, но с вычисленными значениями в C#.

У меня есть метод:
public string GetElement(Expression<Predicate<T>> match)
        {
   ParameterExpression pe = Expression.Parameter(typeof(T), "s");
            BinaryExpression be = match.Body as BinaryExpression;

            var ExpressionTree = Expression.Lambda<Func<T, bool>>(match.Body, new[] { pe });
            return ExpressionTree;
}


Он показывает правильно, если я использую GetElement(s => s.Name == "Нью-Йорк") но если я попытаюсь:

var name = "New York";
 GetElement(s=>s.Name == name) 

Я получаю "s => (s.Name == значение(WpfTester.MainWindow+<>c__DisplayClass0_0).имя)"

Что я уже пробовал:

Я только попробовал
Expression.Lambda<Func<T, bool>>(match.Body, new[] { pe });

1 Ответов

Рейтинг:
2

Mehdi Gholam

См. LINQString.cs файл в моем RaptorDB - Хранилище Документов[^] проект.