首页 > 解决方案 > Expression.Call 嵌套函数

问题描述

我有一个像这样的嵌套函数:Func<A, Func<B, C>>.

我正在尝试构建一个能够:

我似乎遇到的问题是Expression.Call需要提前获取目标和方法信息,并且直到函数从第一次调用返回时才知道(或者我不知道如何获取它)。

必须有一种方法可以做到这一点,但到目前为止,我在第一次通话后被卡住了。

标签: c#lambdafunc

解决方案


我实际上设法自己解决了这个问题,这最终成为我知识上的空白。

答案是,因为Func<_>是委托,您可以使用Expression.Invoke而不是Expression.Call,并且Expression.Invoke支持对表达式值进行操作,而不是预先要求目标和方法信息。


推荐阅读