namespace CatMouse { class MainClass { static void Main(string[] args) { Cat cat = new Cat("cat1"); Master ma = new Master("ivan"); Mouse ms = new Mouse("jerry"); cat.Cry += new Cat.CryEventHandler(ms.Response); //为事件添加事件处理程序 cat.Cry += new Cat.CryEventHandler(ma.Response); cat.OnCry(); //猫叫 } } class Cat { public delegate void CryEventHandler(object o, EventArgs e); //声明Delegate public event CryEventHandler Cry; //定义Event private string m_name; public Cat(string name) { m_name = name; } public void OnCry() { if (Cry != null) { Cry(this, EventArgs.Empty); //触发事件 } } } public class Master { private string m_name; public Master(string name) { m_name = name; } public void Response(object o, EventArgs e) { Console.WriteLine(m_name + "wake up"); } } public class Mouse { private string m_name; public Mouse(string name) { m_name = name; } public void Response(object o, EventArgs e) { Console.WriteLine(m_name + "flee away"); } } |
|