C#处理事件的过程
2013-07-16 14:07
169 查看
首先,先说明事件跟委托的关系,事件并不等于委托,事件等于委托链。
C#中处理事件的六个步骤:
1、声明事件所需的代理;
2、事件的声明;
3、定义触发事件的方法;
4、订阅者定义事件处理程序;
5、向事件发行者订阅一个事件;
6、触发事件。
根据上面六个步骤,写出一个事件的过程,代码如下:
亲,开始发工资啦!
我终于拿到工资啦!!!明天有钱旅游啦!!!
火热发送工资中...
源码链接:http://download.csdn.net/detail/scrystally/5763405
C#中处理事件的六个步骤:
1、声明事件所需的代理;
2、事件的声明;
3、定义触发事件的方法;
4、订阅者定义事件处理程序;
5、向事件发行者订阅一个事件;
6、触发事件。
根据上面六个步骤,写出一个事件的过程,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEvent { class RichMan //老板 { public delegate void TreasurerSendMoney(); //1、声明老板发工资事件所需的代理-"财务员发工资" public event TreasurerSendMoney OnSendMoney; //2、声明财务员发工资事件 public void sendMoneyTimeOut() //3、触发财务员发工资的方法 { if (OnSendMoney != null) { Console.WriteLine("亲,开始发工资啦!"); OnSendMoney(); Console.WriteLine("火热发送工资中..."); } } } class PoorMan //工人 { public void TakeMoney() //4、工人拿到工资之后的处理方法 { Console.WriteLine("我终于拿到工资啦!!!明天有钱旅游啦!!!"); } } class Program { static void Main(string[] args) { RichMan richMan = new RichMan(); PoorMan poorMan = new PoorMan(); richMan.OnSendMoney += new RichMan.TreasurerSendMoney(poorMan.TakeMoney); //5、将工人拿工资之后的处理方法绑定到老板发工资的事件中 richMan.sendMoneyTimeOut(); //6、触发发工资事件的方法 Console.ReadLine(); } } }运行程序,可以看到如下输出:
亲,开始发工资啦!
我终于拿到工资啦!!!明天有钱旅游啦!!!
火热发送工资中...
源码链接:http://download.csdn.net/detail/scrystally/5763405
相关文章推荐
- C#利用反射绑定事件处理过程
- 从面向对象编程的角度解析c#中的事件处理机制
- C#中键盘事件在WndProc函数之前的处理流程
- [C#] C#编写事件或委托时如果处理不好会造成内存泄漏
- Global.asax的16个事件处理过程
- Flex、Java、C#、JavaFX的事件处理机制的比较
- 浅谈Java与C#的事件处理机制
- 利用反射绑定事件处理程序(C#)
- C#中动态创建控件及事件处理程序
- nginx事件处理过程
- C#键盘事件处理父窗体子窗体
- C#中SerialPort类中DataReceived事件GUI实时处理方法
- iOS 事件处理机制与图像渲染过程(转)
- C#事件演示程序2)——写事件的三点注意,以及常用的事件处理模型
- 工作流学习过程-本地服务之事件处理
- iOS 事件处理机制与图像渲染过程
- [C#][SAMPLE][CODE][Control]TextBox和Validating事件的相关处理
- Flex、Java、C#、JavaFX的事件处理机制的比较
- Java与C#事件处理详细对比
- C#中动态创建控件及事件处理程序