您的位置:首页 > 其它

读书笔记:理解委托与事件

2011-06-01 09:49 260 查看
今天是儿童节,在这个普天同庆的日子里,祝所有的小朋友以及尚有一颗童真的心的大人们节日快乐吧。也祝自己节日快乐。

说完了开场白,进入正题吧。

首先说委托,什么是delegate,委托从本质上来讲就是一个类型,跟class很像,比如说,我们可以把阿森纳,曼联,利物浦...抽象成一个叫做club的类,同样,也可以把散步,爬楼梯,跳绳...归结为一个叫做sportDelegate的委托。能抽象成一个class的都是一些具有内部共性的对象,而能归结为一个delegate的则是一些方法。

View Code

publicclass HobbyManager
{
//定义消息通知方法
publicvoid watchFootballMatch(object sender, Hobby.HobbyEventArgs e)
{
Console.WriteLine(e.str_name +" likes watching football match");
}

publicvoid readBooks(object sender, Hobby.HobbyEventArgs e)
{
Console.WriteLine(e.str_name +" likes reading books");
}
}

OK,这就是事件的触发者,watchFootballMatch & readBooks。

下面是事件处理程序

class Program
{
staticvoid Main(string[] args)
{
Hobby myhobby =new Hobby();
HobbyManager manager =new HobbyManager();
myhobby.my_hobby += manager.watchFootballMatch;
myhobby.my_hobby += manager.readBooks;
myhobby.HobbyIS("ying");
}
}

输出结果如下:



说到这里,我想像我一样以前从来没有接触过委托和事件的孩子们大概能知道delegate和event表面上是个什么东西了吧,我写的这些,完全谈不上什么个人见解,我也没那么资格,只是记录一下自己的学习过程,也加深一下理解,遗憾的是我还没有应用过。要说简单接触也就是在应用控件的时候触发一个button事件,嗯,这算是一个事件的应用了。

昨天一个老师说,我目前会用而且不会用错就OK了,等到以后再了解背后的东西,其实说实话,我还真不清楚什么是背后的东西,我也不清楚自己怎么才算是会用,什么才不会用错,问一个同学,从来就没有使用过委托和事件,我真不知道目前的阶段学习这些有没有多余,当然多余是指定不会的,毕竟学了比不学强,我只是突然觉得有些迷茫了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: