ExpressionType.Quote

Какова цель этого UnaryExpression и как его использовать?

Ответ 1

Он принимает объект Expression и обертывает его другим Expression. Например, если у вас есть выражение, которое есть для лямбда, использование его в дереве приведет к созданию лямбда-выражения, но использование его цитирования приведет к выражению для лямбда в выводе.

method                                 | resulting object                   | after compile
--------------------------------------------------------------------------------------------------
Expression.Lambda(...                  | Expression of lambda               | Lambda
Expression.Quote(Expression.Lambda(... | Expression of expression of lambda | Expression of lambda