假设您有:
Func<string> a = () => "string here";
Func<string> b = () => "other string here";
var c = a + b;
现实世界需要什么?
最佳答案
我认为它唯一有用的情况是,如果您真的将其视为委托(delegate)列表(通过 Delegate.GetInvocationList
),并分别调用每个委托(delegate)。例如,您可以为验证器执行此操作 - 每个验证步骤都可以为“有效”返回 null
或返回错误消息。不过这种情况很少见。
委托(delegate)组合的主要用途是用于事件处理程序 - 通常委托(delegate)类型与 EventHandler
兼容(具有 void
返回类型)。在这一点上,多播委托(delegate)返回调用的最后操作的结果的行为并不重要,因为无论如何都没有返回值。
关于c# - Func<sometype> + Func<sometype> 的真实例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875147/