柚子快报邀请码778899分享:C#事件学习

http://www.51969.com/

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace 事件学习

{

//定义一个领导类,发布事件

public class leader

{

//声明一个委托

public delegate void WorkHandle(string msg);

//实用自定义委托类型定义事件

public event WorkHandle workEvent;

//发出事件

public void goBackToWork(string msg)

{

//判断是否绑定了注册事件的方法

if (workEvent != null)

{

//事件触发

workEvent(msg);

}

}

}

//定义一个员工类处理事件

public class worker

{

//字段

public string Name;

//构造函数

public worker(string name)

{

Name = name;

}

//事件处理函数

public void sendMsg(string message)

{

Console.WriteLine(message);

Console.WriteLine(this.Name + ":知道了,我会去加班的!");

}

}

class Program

{

static void Main(string[] args)

{

//初始化领导对象

leader hu = new leader();

//实例化员工对象

worker xie = new worker("谢峰");

//订阅事件

//胡总.发布的事件+=领导.委托(谢峰.做事)

hu.workEvent += new leader.WorkHandle(xie.sendMsg);

//触发事件

hu.goBackToWork("胡:谢峰,快滚回去加班写代码!");

Console.WriteLine("_______________________________");

Console.ReadKey();

}

}

}

运行效果图:

 

柚子快报邀请码778899分享:C#事件学习

http://www.51969.com/

查看原文