Получение значений аргументов для MethodCallExpression

Как я могу получить значения аргументов для 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);
13
задан Hossein Narimani Rad 4 July 2019 в 15:48
поделиться