三个相关的成语:事件,委托,事件处理程序。我总是被谁加“谁”弄糊涂。委托类型和事件处理程序类型有什么区别?
event += handler
event += delegate
handler += delegate
据我所知:
- 委托:一个指向与已知签名的功能。
- 事件处理程序:注册到事件的委托。基本上,它和代表一样吗?
- 事件:委托列表\当使用事件()
什么混淆了我更多的是这个签名在MSDN调用事件而被执行的事件处理程序:
public delegate void EventHandler(Object sender, EventArgs e)
如果我没有记错的话,事件是“只“具有多个目标的专业代表。尽管没有C#规范方便查看它。 –
@迈克尔:我第二你的意见。一个'EventHander'只是一个像Action这样的委托,TimerCallback等等。不同之处在于MulticastDelegate用于向多个事件处理委托派发事件。 – eFloh