让我们说你有:
Func<string> a = () => "string here";
Func<string> b = () => "other string here";
var c = a + b;现实世界需要什么?
发布于 2015-08-07 10:13:41
我认为它唯一有用的地方是,您是否真的要将其作为委托列表(通过Delegate.GetInvocationList)来处理,并分别调用每个委托。例如,您可以为验证器这样做--每个验证步骤都可以返回null以表示“有效”,或者返回错误消息。然而,这样做是非常罕见的。
委托组合的主要用法是事件处理程序--通常委托类型与EventHandler兼容(与void返回类型兼容)。此时,返回上次调用的操作结果的多播委托的行为并不重要,因为无论如何都没有返回值。
https://stackoverflow.com/questions/31875147
复制相似问题