事件是一种特殊的委托的实例,或者说是受限制的委托,是委托一种特殊应用,在类的外部只能施加+=,-=操作符,二者本质上是一个东西。Event关键字会自动提供注册和注销的方法,只允许用add, remove方法来操作,这导致了它不允许在类的外部被直接触发,只能在类的内部适合的时机触发。(实例在后文)
使用中,委托常用来表达回调,事件表达外发的接口。delegate关键字类比于class关键字, 定义的是一种委托类型,然后再创建委托示例。创建委托实例时, 用event关键字来修饰就变成了创建一个事件. 也就是事件是一种特殊的委托。