using System;class Publisher//出版社...{ public delegate void Publish();//声明事件所需的代理 public event Publish OnPublish;//事件的声明 public void issue()//触发事件的方法 ...{ if (OnPublish != null) ...{ Console.WriteLine("发行刊物"); OnPublish();//触发事件 } }}class Subscriber//订阅者实际生活中会有很多个...{ public void Receive()//在事件订阅者中定义事件处理程序 ...{ Console.WriteLine("订阅者已经收到了刊物"); }}class Story...{ static void Main() ...{ Publisher Pub = new Publisher();//实例化了Publisher类,声明了代理、事件,但OnPublish=null不触发事件 Subscriber zs = new Subscriber();//实例化了Subscriber类, Publisher.Publish ZS=new Publisher.Publish(zs.Receive);//代理zs.Receive方法,代理默认是static的,所以直接类名.代理名访问 Pub.OnPublish += ZS;//把ZS这个代理加入到On事件(有点象委托链),事件用对象名.事件名访问 Pub.issue();//触发事件 }}