我想知道是否有人可以告诉我与 += 运算符等效的原始代码,用于向事件添加方法。我很好奇它从技术角度是如何工作的。
问问题
162 次
1 回答
10
Anevent
定义了一组方法,包括“add”和“remove”(与属性定义“get”和“set”的方式相同)。这实际上是:
obj.add_SomeEvent(handler);
在内部,事件可以做任何事情;有两种常见情况:
- 具有委托字段的事件(包括“类字段”事件)
EventHandlerList
实现
使用委托,它有效地使用Delegate.Combine
:
handler = Delegate.Combine(handler, value);
有EventHandlerList
一个关键对象:
Events.AddHandler(EventKey, value);
于 2009-08-03T21:07:59.473 回答