我想知道是否有人可以告诉我等效于+ =运算符的原始代码,用于向事件添加方法。我很好奇它从技术的角度来看它的工作原理。
答案 0 :(得分:10)
event
定义了一组方法,包括“添加”和“删除”(与属性定义“get”和“set”的方式相同)。对此有效:
obj.add_SomeEvent(handler);
在内部,活动可以做任何事情;有两种常见情况:
EventHandlerList
实施使用委托,它有效地使用Delegate.Combine
:
handler = Delegate.Combine(handler, value);
EventHandlerList
有一个关键对象:
Events.AddHandler(EventKey, value);