黑马程序员技术交流社区

标题: 委托和事件之间有什么区别呀! [打印本页]

作者: guo329838627    时间: 2013-9-30 20:15
标题: 委托和事件之间有什么区别呀!
本帖最后由 guo329838627 于 2013-9-30 21:29 编辑

                  各位大侠,  如题所示,求详细解答!

作者: -___Is、_C    时间: 2013-9-30 20:29
1. 委托可以理解为指向一个函数的指针;
2. 委托和事件没有可比性,因为委托是类型,事件是对象;
3. 事件的内部是用委托实现的;
4. 对于事件来讲,外部只能“注册自己+=,注销自己-=“,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果采用Delegate就没法进行上面的控制,因此诞生了事件这种语法;
5. 事件是用来阉割委托的,类比用一个自定义类阉割List。
6. 事件只能add, remove自己,不能赋值。
7. 事件只能+=, -=,不能=.
作者: 帕格尼尼的眼泪    时间: 2013-9-30 21:21
你先把委托理解了,自然事件就理解了,事件其实就是封装一个或者多个委托的对象,在委托的基础上用event关键字就是事件,事件就是在委托的基础上对类外部进行封装,不能在外部随便赋值给委托,只能通过+=和-=来实现,而委托则可以在外部和内部赋值。你先把委托搞清楚吧




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