慕课网 7.3事件

发布者和订阅者

通知事件发生的,就是发布者;

对某个事件关注,就是订阅者。

事件触发和注册

事件发生时,会通知所有关注该事件的订阅者。

想在事件发生时被通知,必须注册以表示关注。

用程序语言解释

事件发生时,通知订阅者,就是调用订阅者的注册函数。注册,就是告诉发布者调用哪一个注册函数。

事件声明

delegate void Handler();

public event Handler NewDog;//Handler 是委托类型,NewDog为事件名

NewDog是一个成员,并且会被隐式自动初始化为null

事件订阅

NewDog + = 方法 //关注

NewDog - = 方法 //取消关注

方法可以是,实例方法,静态方法,匿名方法、Lambda表达式

事件触发

if(NewDog!=null){

NewDog();

}

事件可以理解为一种封装的受限制的委托,委托当中包含着订阅者的注册函数,事件触发就是调阅委托当中的回调函数。




运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,366评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,242评论 19 139
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,957评论 2 17
  • 2017-11-12 22:36:48 So,我每次都会拖到这么晚,22:40,才开始写一周的周记,每当这时候发现...
    流年娃娃阅读 208评论 0 0
  • 在放下《巨流河》之后,这是放入背囊的新书,也是发自现场的报道集成。距离1991年12月25日,时间已经过去了23年...
    Andylee阅读 1,317评论 1 5