您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

委托Roslyn中的缓存行为更改

委托Roslyn中的缓存行为更改

是。最重要的部分是包含lambda实现的方法现在是实例方法

您可以看到一个代表作为中间人的委托,它通过Invoke接收实例调用,并根据实现方法调用约定调度该调用

请注意,有一些平台ABI要求,这些要求指定如何传递参数,如何返回结果,通过寄存器传递哪些参数以及在哪些参数中传递“ this”,等等。违反这些规则可能会对依赖堆栈遍历的工具(例如调试器)产生严重影响。

现在,如果实现方法是实例方法,则在委托内部唯一需要发生的就是将“ this”(即在调用时的委托实例)修补为封闭的Target对象。此时,由于其他所有内容都已经存在,因此委托可以直接跳转实现方法主体。在许多情况下,这比在实现方法是静态方法的情况下需要做的工作少得多。

其他 2022/1/1 18:16:53 有448人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶