【发布时间】:2014-09-23 12:31:12
【问题描述】:
在大多数情况下,委托和 Func/Action 是可以互换的,但在某些情况下它们不能互换吗?功能上有一些细微的差别吗?
(是的,有很多关于 SO 的“Action vs Delegates”,但没有一个回答能力问题以及它们何时不可互换。)
“它们不可互换的情况”是指您不能直接将 Func 替换为相应的委托(并委托为相应的 Func)的情况。
【问题讨论】:
-
什么是确切你的意思是互换?请注意,
Func/Action是代表,所以不清楚你在说什么......一个例子真的很有帮助。 -
@JonSkeet 我编辑了问题以使其更清楚。
-
还不清楚——你说的“通讯代表”是什么意思?
Func<TResult>是代表。 in code 的具体示例会更有帮助 - 目前这个问题听起来仍然像你错过了Func<TResult>是委托类型的事实 -
@JonSkeet 你说得对,我相信 Func/Action 类封装了代表,但它们实际上是代表。