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





Он берет объект 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