首页 > 其他 > 详细

委托与事件的关系

时间:2015-03-29 00:23:48      阅读:184      评论:0      收藏:0      [点我收藏+]

委托与事件的关系

  委托与事件的关系,可参照字段跟属性的关系来理解。

  属性的一个功能就是设置字段,可以给字段设置权限。字段可以是值类型,也可以是引用类型,当然包括数组在内。那么委托呢?委托是把方法参数化,想要使用方法时直接使用就可以了(有时候要在不同的地方使用同一个方法,如果把方法的引用交给委托,要使用的时候直接让委托占位(委托去调用这个或这些方法),就方便多了)。

  声明一个委托:public deletate void MyDelegate();

  可以把委托当做一个容器(名片夹),里面装的是方法的引用(这里我们可以把方法理解为工具,而引用就相当于工具的一个名片来标示工具的位置),容器里可以装很多的名片夹(可以注册多个方法给委托),需要使用时,会按照名片的顺序来调用方法(多播委托)。

  一个委托类型的变量可以引用一个或多个方法。

  

 

    事件的本质就是对委托的封装,约束委托什么时候执行委托里面的方法(不然委托岂不是无法无天逍遥自在了),事实上事件也是对委托的一种安全保护,委托可以赋值,而事件是需要注册的。

    委托可以赋值时因为委托本身装的就是方法的引用,引用本身就是一个“值”,裸露的值有可能被更改(如果委托被重新赋值,那么注册的方法的引用就都会被冲掉。+=是注册,而=是全部刷掉再赋新的值得引用),er事件只能注册,后续...........

  《《当做笔记》》

 

委托与事件的关系

原文:http://www.cnblogs.com/newking/p/4375077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!