标签:
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(); } } }
运行效果图:
标签:
原文地址:http://www.cnblogs.com/xiefengdaxia123/p/5983020.html