黑马程序员技术交流社区

标题: 委托和事件怎么用啊? [打印本页]

作者: 职业规划-蔡红微老师    时间: 2012-4-8 21:55
标题: 委托和事件怎么用啊?
委托和事件怎么用啊?我总是不会用啊?
作者: 张云静    时间: 2012-4-8 22:13
事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。

在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型(Delegate),该类型提供函数指针的功能。

委托是可保存对方法的引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。一个委托声明足以定义一个委托类。声明提供委托的签名,公共语言运行库提供实现。
你可以看一下下面这篇文章,可以很好地理解
http://blog.csdn.net/chiangbt/article/details/2050174
作者: yoosou2012    时间: 2012-4-8 23:10
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

事件其实没什么不好理解的,声明一个事件不过类似于声明一个进行了封装的委托类型的变量而已。



作者: 郭青松    时间: 2012-4-8 23:10
对于初学者来说 说多了 也许还不容易弄明白。
你可以把委托想象成一个或多个指向于当前委托约束相同的方法的地址的指针。
事件基于委托,没有委托,事件就没存在的意义。
事件为委托提供了一种发布,订阅的这么一个机制。
发布:就是为控件绑定方法啦~~
订阅:就是当控件事件触发的时候能够找到当前事件绑定的方法啦~

你在C#后台代码中看到的 象什么 private button1_Click(Object sender,EventArgs e)//这些个玩意 ,千万别把这货当事件了。

它有返回类型,方法名,有参数列表,这货可是标准的方法。只不错 习惯性的会把这货叫成委托而已。

关于委托的定义 什么 类型安全啊 这些我就不说了。、

就告诉你怎么用吧。

那就是 事件抓委托 -------> 委托抓方法   ---委托 是事件和方法的桥梁。

作者: pray    时间: 2014-4-26 06:37
帮你顶,人还是厚道点好




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