您的位置:首页 > 编程语言 > C#

C#处理事件的过程

2013-07-16 14:07 169 查看
首先,先说明事件跟委托的关系,事件并不等于委托,事件等于委托链。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: