首页 > 代码库 > C#事件学习
C#事件学习
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(); } } }
运行效果图:
C#事件学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。