Я ищу возможность преобразовывать целые методы в деревья выражений. Выписывать это было бы отстой. :)
Итак (тривиальный пример) с учетом следующего текста:
public static int Add(int a, int b)
{
return a + b;
}
Я хочу получить либо объект в памяти, который представляет это, либо следующий текст:
ParameterExpression a = Expression.Parameter(typeof(int), "a");
ParameterExpression b = Expression.Parameter(typeof(int), "b");
var expectedExpression = Expression.Lambda<Func<int, int, int>>(
Expression.Add(a,b),
a,
b
);
Есть идеи? Возможно, кто-нибудь сделал что-нибудь с Roslyn, что может это сделать?
РЕДАКТИРОВАТЬ: Уточнение: я хочу втянуть любой метод C # (например, тот, который указан выше) в виде текста и создать результирующее выражение. В основном я хочу скомпилировать любой заданный метод C # в деревья выражений.