事件与委托
C#中的委托和事件
引言
委托和事件在.NetFramework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.NetFramework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。
将方法作为方法的参数
我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候的话语:publicvoidGreetPeople(stringname){
//做某些额外的事情,比如初始化之类,此处略
}
publicvoidEnglishGreeting(stringname){
Console.WriteLine("Morning,"+name);
}EnglishGreeting(name);
暂且不管这两个方法有没有什么实际意义。GreetPeople用于向某人问好,当我们传递代表某人姓名的name参数,比如说“Jimmy”,进去的时候,在这个方法中,将调用EnglishGreeting方法,再次传递name参数,EnglishGreeting则用于向屏幕输出“Morning,Jimmy”。
现在假设这个程序需要进行全球化,哎呀,不好了,我是中国人,我不明白“Morning”是什么意思,怎么办呢?好吧,我们再加个中文版的问候方法:publicvoidChineseGreeting(stringname){
Console.WriteLine("早上好,"+name);
}
这时候,GreetPeople也需要改一改了,不然如何判断到底用哪个版本的Greeting问候方法合适呢?在进行这个之前,我们最好再定义一个枚举作为判断的依据:publicenumLanguage{
English,Chinese
}
C#中的委托和事件委托和事件没有太大的不同,在语法上来说只不过是在声明委托对象时时多加了一个 event 关键字。 那么这会造成什么不同呢。 先看源代码 ...
委托与事件的区别 委托 和 事件在 .Net Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多接触 C# 时间不长的人来说并不容易。它们就像是一道槛儿,...
(Name); } }<BR>下面的章节还会详细介绍委托和事件的 C#中常见的字符串方法 1.1 字符串大小写 方法原型 string <strName>.ToUpper(); //返回字符串转换的...
事件的使用 3 委托(delegate) 委托是一种数据类型,它用一组特定的 参数以及返回类型来封装方法,一旦为委托 分配了方法,委托将与该方法具有完全相同 的行为。对于...
事件和委托的区别c# 2009-12-01 10:37:51 阅读99 评论0 字号:大中小 事件其实没什么不好理解的,声明一个事件不过类似于声明一个进行了封装的委托类型的变量...
? ? ? ? 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 事件与委托相似 源代码组件概览 声明事件 触发事件 订阅事件 标准事件的用法 实例讲解 事件访问器选择优秀 ...
大白话系列之 C#委托与事件讲解(一) 从序言中,大家应该对委托和事件的重要性有点了解了吧,虽然说我们现在还是能模糊,但 是从我的大白话系列中,我会把这些概念...
C#面向对象编程-委托和事件习题_IT/计算机_专业资料。C#面向对象编程-委托和事件习题今日推荐 78份文档 不小心又胖了 胖女人必看 ...
委托和事件实例_计算机软件及应用_IT/计算机_专业资料。C#里的事件、委托实例委托: 委托是一个类,这个类保存了一个对象和这个对象的一个方法,所以当你调用这个 ...
C# 程序设计第7章 委托与事件 目录 1 2 3 4 7.1 委 7.2 事 托件 7.3 键盘事件 7.4 鼠标事件 第7章 委托与事件 ? 本章介绍了委托的概念,组合委托...
闽公网安备 35021102001881号 
热门文档