Как я могу получить значения аргументов для MethodCallExpression?
Сегодня я делаю это, но не достаточно быстро:
private static object GetArgumentValue(Expression element)
{
LambdaExpression l = Expression.Lambda(Expression.Convert(element, element.Type));
return l.Compile().DynamicInvoke();
}
Этот метод получает значения из выражения, но если Я знаю, что Expression всегда исходит из MethodCallExpression.Arguments. Я могу его оптимизировать?
Я думаю, что могу изменить первую строку на это, но я не знаю, работает ли это для всех ситуаций:
LambdaExpression l = Expression.Lambda(element);