Преобразуйте Дерево выражений в строку Исходного кода

Вы попробовали Автодиаметр уже? В прошлый раз, когда я попробовал его, это не было прекрасно, но это было достаточно хорошо.

17
задан herbrandson 10 September 2009 в 00:31
поделиться

1 ответ

Вот интересная статья, с кодом, обсуждение преобразования деревьев выражений обратно в нечто, напоминающее (примерно) исходный источник:

Преобразование деревьев выражений-лямбда-выражений в CodeDom

В качестве примечания, пробовали ли вы вызвать выражение ToString метод?

Expression<Func<int, int, bool>> expr =
    (i, j) => (i + j) * 9 == Math.Round((double)j / (i - 3), 4);

Console.WriteLine(expr.ToString());
// (i, j) => (Convert(((i + j) * 9)) = Round((Convert(j) / Convert((i - 3))), 4))

Console.WriteLine(expr.Body.ToString());
// (Convert(((i + j) * 9)) = Round((Convert(j) / Convert((i - 3))), 4))
9
ответ дан 30 November 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: