c# - Expression.Call 嵌套函数
问题描述
我有一个像这样的嵌套函数:Func<A, Func<B, C>>
.
我正在尝试构建一个能够:
- 调用外部函数
- 调用返回的函数
我似乎遇到的问题是Expression.Call
需要提前获取目标和方法信息,并且直到函数从第一次调用返回时才知道(或者我不知道如何获取它)。
必须有一种方法可以做到这一点,但到目前为止,我在第一次通话后被卡住了。
解决方案
我实际上设法自己解决了这个问题,这最终成为我知识上的空白。
答案是,因为Func<_>
是委托,您可以使用Expression.Invoke
而不是Expression.Call
,并且Expression.Invoke
支持对表达式值进行操作,而不是预先要求目标和方法信息。
推荐阅读
- javascript - Javascript 在不同的上下文中访问“文档”对象(反应)
- java - 如何创建一个没有实例变量的枚举类?
- jestjs - 放大 Jest 配置
- python - 为什么多线程在 tkinter 中的成员函数不是线程安全的?
- javascript - Promise 包装在 catch 子句中并在 Promise.all 中等待
- reactjs - 使用钩子动态添加组件
- kubernetes - Windows 10 Pro 上的 minikube
- node.js - 如何创建 PDF 模板以及如何使用 Node.js 中的值填充该模板?
- python - Opencv对不规则物体进行颜色分类
- ethereum - 为什么松露控制台没有在solidity智能合约中打印正确的变量?