没有合适的资源?快使用搜索试试~ 我知道了~
一个介绍C#委托与事件doc文件
4星 · 超过85%的资源 需积分: 10 13 下载量 21 浏览量
2011-07-24
21:11:15
上传
评论
收藏 109KB DOC 举报
温馨提示
试读
4页
这是一个介绍C#委托与事件的.doc文件,内容详细,对初学者有很好的借鉴作用.
资源推荐
资源详情
资源评论
进一步接触 C#委托与事件
以事件,去调用委托方法,从面实现方法的调用
一、在控制台下使用 C#委托和事件
我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的
方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个
方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。
我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具
体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立
某种关联。
下面我们来看例子。
首先,我们定义一个委托:
1. publicdelegatevoidSaySomething(stringname);
这跟抽象方法的语法格式很相似,只是多了一个关键字 delegate。既然是对方法的一种抽象,那么我们
最关注的当然就是方法的返回值以及方法的参数了。所以上面红色的部分就是我们定义出来的一个规矩,如果
某个方法想委托我去做事,那么请你遵循我的规矩,就是返回值为 void,参数为一个字符串。我们这个委托的
含义是,当某个人来了,就向他说点东西。
好,既然我们已经定义了这个规矩,下面我们就定义具体的方法了。
2. publicvoidSayHello(stringname)
3. {
4. Console.WriteLine("Hello,"+name+"!");
5. }
6.
7.
8. publicvoidSayNiceToMeetYou(stringname)
9. {
10. Console.WriteLine("Nicetomeetyou,"+name+"!");
11. }
我们这里一共定义了两个方法,一个是向某人说 Hello,另一个是向某人说 Nice to meet you。我们看到,
这里定义的两个方法的返回值和参数跟我们前面定义的“委托”是一致的。
接下来,我们来看事件。
12. publiceventSaySomethingcome; //事件名 come 前加上了委托名 SaySomething
我们定义了一个事件,这个事件是“有人来了”,注意定义的时候我们使用 event 关键字,除此之外,我们
还加上了前面定义的“委托”的名字。这个意思是说,我这个事件只会跟“SaySomething”打交道,并且,当我
这个事件发生的时候,我会通知关注我的这些“委托”(再由这些“委托”去调用具体的方法)。
我们来定义一个测试方法:
13. publicvoidtest(){
14. SaySomethingsayhello=newSaySomething(SayHello); //参数是方法名
资源评论
- 天籁小子2013-04-13还可以,介绍了一般的委托,及btnclick的委托
yanele
- 粉丝: 62
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功