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