【发布时间】:2010-12-16 07:32:24
【问题描述】:
哪一个更好,比如方法中的参数类型(与 LINQ 无关)。 显然 Func 更好,因为它更简单,更具描述性,如果每个人都使用它,一切都会变得兼容(好)。 但是我注意到微软在某些库中使用了自己的委托,例如事件处理程序。那么,它们各自的优缺点是什么?我应该什么时候使用它?
编辑:
显然 Func 仅在 3.5 中可用,因此这可能是我看到非 Func 代表的主要原因。还有其他不使用 Func 的理由吗? (例如:this 来自 .NET4)
同样的问题也适用于 Action
【问题讨论】:
-
哪些库?可能这些库是在 .Net 3.5 之前开发的(尤其是 EventHandler)
-
主要在事件处理程序中,但我也在其他库中看到它,我会尝试回忆
-
Func<>直到 .net 3.5 才存在。之前的大多数事件处理程序。 -
@Louis Rhys:Reflector .NET 将所有代表(包括 Func)“渲染”为
delegate。也许你在那里看到了。 -
嗯,这是有道理的。不使用 Func 的任何其他原因?
标签: c# .net delegates coding-style func