Func <sometype> + Func <sometype>的真实示例

时间:2015-08-07 10:07:43

标签: c# lambda

让我们说:

Func<string> a = () => "string here";
Func<string> b = () => "other string here";

var c = a + b;

真实世界需要什么?

1 个答案:

答案 0 :(得分:5)

我唯一能想到它有用的是你真的要将它作为代表列表(通过Delegate.GetInvocationList)对待,并分别调用每个代表。例如,您可以为验证器执行此操作 - 其中每个验证步骤都可以返回null以确认&#34;有效&#34;或者否则出现错误消息。但是这样做非常罕见。

委托组合的主要用法是用于事件处理程序 - 通常委托类型与EventHandler兼容(具有void返回类型)。此时,返回调用 last 操作结果的多播委托的行为并不重要,因为无论如何都没有返回值。