C# Linq表达式,获取参数?

C# Linq表达式,获取参数?,c#,linq,lambda,expression,C#,Linq,Lambda,Expression,我有一个linq表情 internal T Execute<T>(System.Linq.Expressions.Expression<Func<int, string, T>> expr) { var paramInt = ??; var paramString = ??; } 内部T执行(System.Linq.Expressions.Expression) { var参数=??; 变量参数字符串=??; } 我使用以下方法调用此方法:

我有一个linq表情

internal T Execute<T>(System.Linq.Expressions.Expression<Func<int, string, T>> expr)
{
    var paramInt = ??;
    var paramString = ??;
}
内部T执行(System.Linq.Expressions.Expression)
{
var参数=??;
变量参数字符串=??;
}
我使用以下方法调用此方法:

Expression<Func<int, string, Guid>> myExpression2 = (a,b) => Callmethod(a, b, 5);

Execute<Guid>(myExpression2);
expressionmyexpression2=(a,b)=>Callmethod(a,b,5);
执行(myExpression2);
如何从execute方法中的表达式中获取参数

--澄清--


我想从参数中获取值,以便对其进行一些计算。

好的,您可以使用属性获取参数

var parameters = expr.Parameters;

但是,它们中的每一个都是
参数表达式
。这将为您提供参数名称和类型,但不清楚您想用它们做什么。

我想从参数中获取值,以便用它们进行一些计算。@Patrick:参数没有值-它们是参数。这就像询问一个方法参数的值是什么-它只有在被调用时才有值。@Jon,我想他想提取表达式中传递的值。@Filip:但是在这种情况下是哪些值?我们得到的唯一值是5,这是表达式树中方法调用的参数…@Jon,对,但是当调用它们时,它们必须有一个值,不是吗?因此,该值就是您要提取的值。例如,5,是否可以提取?