1.声明关于事件的委托;
2.声明事件;
3.编写触发事件的函数;
4.创建事 件处理程序;
5.注册事件处理程序;
6.在适当的条件下触发事件.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DefineEvent { class Program { static void Main(string[] args) { DefineEvent defineEvent = new DefineEvent(); DealEvent dealEvent = new DealEvent(defineEvent); defineEvent.OnAlarm(); Console.ReadKey(); } } class DefineEvent { //1.申明委托 public delegate void myEventHandle(object sender, EventArgs e); //2.将创建委托与特定的事件(Alarm)相关联, public event myEventHandle myEvent; //3.引发事件 public void OnAlarm() { if (this.myEvent != null) { Console.WriteLine("Trigger Event!"); this.myEvent(this, new EventArgs()); //引发事件 } } } class DealEvent { //4.处理方法 void DealWithEventHandle(object sender, EventArgs e) { Console.WriteLine("Deal with the triggered event"); } //5.订阅事件 public DealEvent(DefineEvent de) { de.myEvent += new DefineEvent.myEventHandle(DealWithEventHandle); } } }