C#事件学习
Posted <抢囡囡糖未遂/>
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#事件学习的主要内容,如果未能解决你的问题,请参考以下文章