黑马程序员技术交流社区

标题: 委托和事件 [打印本页]

作者: 淡蓝色    时间: 2013-5-12 15:49
标题: 委托和事件
求大神讲解一下委托和事件的关系,以及如何定义委托、事件及其使用,刚接触这个东西,有点似懂非懂的感觉
作者: 许庭洲    时间: 2013-5-12 22:03
1. 委托可以理解为指向一个函数的指针;
2. 委托和事件没有可比性,因为委托是类型,事件是对象;
3. 事件的内部是用委托实现的;
4. 因为对于事件来讲,外部只能“注册自己+=,注销自己-=“,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果采用Delegate就没法进行上面的控制,因此诞生了事件这种语法;
5. 事件是用来阉割委托的,类比用一个自定义类阉割List。
6. 事件只能add, remove自己,不能赋值。
7. 事件只能+=, -=,不能=.
作者: 许大虾    时间: 2013-5-12 22:15
可以去看看这两个:
http://zhidao.baidu.com/question/189382575.html
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx
作者: 许大虾    时间: 2013-5-13 12:00
许大虾 发表于 2013-5-12 22:15
可以去看看这两个:
http://zhidao.baidu.com/question/189382575.html
http://www.tracefact.net/CSharp-P ...

不客气,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2