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