【问题标题】:How can Delegate call many methods?Delegate 怎么能调用很多方法呢?
【发布时间】:2019-11-19 14:01:59
【问题描述】:

Delegate 是对方法的引用:1 个地址到 1 个内存单元,即我们的方法。那么当我将多个方法链接到一个委托时,这个地址如何调用多个方法?

【问题讨论】:

  • 您想了解多播委托的性质,这是一个相当广泛的问题,还是您对它们有任何具体问题?

标签: c# delegates


【解决方案1】:

Delegate 是对方法的引用:1 个地址到 1 个内存单元

不一定不是。可以通过+ 组合代表,这是Delegate.Combine 的简写。调用复合委托将依次涉及每个目标。

所以:

SomeDelegate x = obj.Whatever;
SomeDelegate y = arg => other.SomeMethod(arg, capturedLocal);
SomeDelegate z = x + y;
z(42);

【讨论】:

  • 我的问题是关于这个案例:SomeDelegate x = obj.Whatever; x += other.SomeMethod(arg, captureLocal); x+= 另一个.Method();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
相关资源
最近更新 更多