黑马程序员技术交流社区

标题: C#中的委托是什么?事件是不是一种委托? [打印本页]

作者: 董伟    时间: 2011-12-14 13:34
标题: C#中的委托是什么?事件是不是一种委托?
看委托与事件看的头疼,求高手指导下,事件被触发时,是怎样进行处理的?就是委托方式
作者: 吴泉水    时间: 2011-12-14 14:11
本帖最后由 吴泉水 于 2011-12-14 15:09 编辑

打个比方:比如你要租一个房屋,这是一个事件,那么委托就是房屋租赁中介,当你把租房子的消息告知中介后,中介就会制作出一套符合你的要求的房屋租赁方案来,再由中介执行这套方案,你便租到了这个房屋。即事件被处理,所以说事件的处理程序基于委托,如果只定义一个事件是没任何意义的。

我在博客园上看到这篇文章,写的非常通俗易懂,你看一下吧
http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html
作者: 黑马——兰雷明    时间: 2011-12-14 19:31
委托可以简单的从字面去理解,即“委托别人去执行某些操作”,也就是说执行一个操作,而这个操作过程自身并不知道,只是委托过来让你去执行而已。
   一般事件的初始化需要绑定一个事件处理函数,那么当事件触发的时候,处理函数会被调用,也就是说在事件处理函数可以明确的知道,此事件是被触发了。例如,点击窗体的上的Button,它会把Click事件反馈给窗体。很明显,委托是处理对象之间的信息交互。
作者: 刘波    时间: 2011-12-19 16:22
委托是CTS(公共类型系统)规定的5种类型之一(类类型、结构类型、接口类型、枚举类型、委托类型)。
通俗的说,委托是这样一种类型:这种类型的实例,指向其它类型的方法。
委托主要就是提供间接调用、构建双向系统用的,他为消息模型和多线编程提供了基础。

再说说事件,事件并不是一种类型,它是一个方法,它是为了简化委托的注册而出现的。并不是1楼所说的那样:事件是一种委托,这是严重的误导!

希望对你有所帮助




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