(第三季)210-事件
2016-04-30 11:42
253 查看
事件
事件(event)基于委托,为委托提供了一个发布/订阅机制,我们可以说事件是一种具有特殊签名的委托。
什么是事件?
事件(Event)是类或对象向其他类或对象通知发生的事情的一种特殊签名的委托.
事件的声明
public event 委托类型 事件名;
事件使用event关键词来声明,他的返回类值是一个委托类型。
通常事件的命名,以名字+Event 作为他的名称,在编码中尽量使用规范命名,增加代码可读性。
为了更加容易理解事件,我们还是以前面的动物的示例来说明,有三只动物,猫(名叫Tom),还有两只老鼠(Jerry和Jack),当猫叫的时候,触发事件(CatShout),然后两只老鼠开始逃跑(MouseRun)。接下来用代码来实现。(设计模式-观察者模式)
事件(event)基于委托,为委托提供了一个发布/订阅机制,我们可以说事件是一种具有特殊签名的委托。
什么是事件?
事件(Event)是类或对象向其他类或对象通知发生的事情的一种特殊签名的委托.
事件的声明
public event 委托类型 事件名;
事件使用event关键词来声明,他的返回类值是一个委托类型。
通常事件的命名,以名字+Event 作为他的名称,在编码中尽量使用规范命名,增加代码可读性。
为了更加容易理解事件,我们还是以前面的动物的示例来说明,有三只动物,猫(名叫Tom),还有两只老鼠(Jerry和Jack),当猫叫的时候,触发事件(CatShout),然后两只老鼠开始逃跑(MouseRun)。接下来用代码来实现。(设计模式-观察者模式)
using System; namespace CatCry { class Program { public delegate void MyDelegate(); //public MyDelegate mydelegate; // 声明了一个委托类型的变量, 作为类的成员 // public event MyDelegate mydelegate; // 事件的申明只能作为类里面的成员来使用,使用方法和委托一样 // static void Main(string[] args) { Program p = new Program(); p.mydelegate = Test1; p.mydelegate(); // Console.ReadKey(); } static void Test1() { Console.WriteLine("test1"); } } }
相关文章推荐
- mysql插入、更新与删除
- 拖动小物块
- 微信本地开发测试环境
- 开始使用MarkDown写博客
- vtk可视化管线
- gulp使用小结(一)
- 湖北一县委书记在清华大学另类演讲:把升迁看淡
- 背包系列第五篇----完全背包(求解最大价值时背包的物品)
- bzoj 4539: [Hnoi2016]树
- 小代码 整理的代码
- SDAU 课程练习3 1018
- IO学习(五)文件拷贝
- Queue 应用——拓扑排序
- Android 6.0的Launcher3的关于Hotseat的浅析
- js实现精确到秒的日期选择器完整实例
- IIS Express applicationhost.config 设置(一)
- UE4:C++中使用材质
- 计算机中丢失 msvcr110.dll 怎么办
- linq to xml
- button,android:onClick=""