发布者和订阅者
通知事件发生的,就是发布者;
对某个事件关注,就是订阅者。
事件触发和注册
事件发生时,会通知所有关注该事件的订阅者。
想在事件发生时被通知,必须注册以表示关注。
用程序语言解释
事件发生时,通知订阅者,就是调用订阅者的注册函数。注册,就是告诉发布者调用哪一个注册函数。
事件声明
delegate void Handler();
public event Handler NewDog;//Handler 是委托类型,NewDog为事件名
NewDog是一个成员,并且会被隐式自动初始化为null
事件订阅
NewDog + = 方法 //关注
NewDog - = 方法 //取消关注
方法可以是,实例方法,静态方法,匿名方法、Lambda表达式
事件触发
if(NewDog!=null){
NewDog();
}
事件可以理解为一种封装的受限制的委托,委托当中包含着订阅者的注册函数,事件触发就是调阅委托当中的回调函数。