1. 在文件 OutputChoose.cs 中封装了方法作为委托:
using System; using System.Collections.Generic; using System.Text;
namespace beta { class OutputChoose { public string message = "你有新消息,请注意查收。";//声明短消息字串 public delegate void BetaDel(string str);//定义委托注册事件 public event BetaDel MyEvent;//声明事件 public void OnLoad() { if (MyEvent != null) { MyEvent(message); } } } }
2.添加一个用户消息类:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace beta { class UserMessage { public void Output(string str) { System.Console.WriteLine("用户发送给你一个消息:" + str); } } }
3.添加一个系统消息类:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace beta { class SystemMessage { public void SystemOutput(string str) { Console.WriteLine("系统发送给你一个消息:" + str); } } }
4.在主函数中可以触发事件:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace beta { class Program { static void Main(string[] args) { OutputChoose opc = new OutputChoose(); SystemMessage msg = new SystemMessage(); opc.MyEvent += msg.SystemOutput;//注册方法 opc.OnLoad();//开始自动调用所注册的方法 Console.ReadKey(); } } }