如何从ParameterExpression获取值?

时间:2013-09-02 09:35:41

标签: c# expression-trees

我有一个带有以下签名的方法:

void Method(Expression<Func<TSource, IEnumerable<TCollection>>> collectionSelector) {}

我需要获取collectionSelector的结果值,以便将结果与另一个IEnumerable<TCollection>实例进行比较。我正在尝试实现我的目标,如下面的代码,但我被要求提供参数值时卡住了:

var collectionSelectorFunc = collectionSelector.Compile();
var collection = collectionSelectorFunc.Invoke(collectionSelector.Parameters[0]./*???*/); 

如何将参数的实际值放在那里?

1 个答案:

答案 0 :(得分:3)

没有值,因为参数是占位符。参数表示方法参数(在本例中为lambda参数)。您可以使用任何值调用此函数/表达式。没有预设值。