【发布时间】:2019-11-19 14:01:59
【问题描述】:
Delegate 是对方法的引用:1 个地址到 1 个内存单元,即我们的方法。那么当我将多个方法链接到一个委托时,这个地址如何调用多个方法?
【问题讨论】:
-
您想了解多播委托的性质,这是一个相当广泛的问题,还是您对它们有任何具体问题?
Delegate 是对方法的引用:1 个地址到 1 个内存单元,即我们的方法。那么当我将多个方法链接到一个委托时,这个地址如何调用多个方法?
【问题讨论】:
Delegate 是对方法的引用:1 个地址到 1 个内存单元
不一定不是。可以通过+ 组合代表,这是Delegate.Combine 的简写。调用复合委托将依次涉及每个目标。
所以:
SomeDelegate x = obj.Whatever;
SomeDelegate y = arg => other.SomeMethod(arg, capturedLocal);
SomeDelegate z = x + y;
z(42);
【讨论】: