让我们说你有:
Func<string> a = () => "string here";
Func<string> b = () => "other string here";
var c = a + b;
Run Code Online (Sandbox Code Playgroud)
真实世界需要什么呢?
我唯一能想到它有用的是你真的要将它作为代表列表(via Delegate.GetInvocationList),并分别调用每个代理.例如,您可以为验证器执行此操作 - 其中每个验证步骤都可以返回null"valid"或否则返回错误消息.但这样做非常罕见.
委托组合的主要用法是事件处理程序 - 通常委托类型与EventHandler(与void返回类型)兼容.此时,返回调用的最后一个操作的结果的多播委托的行为无关紧要,因为无论如何都没有返回值.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |