//////事件 //事件是一种特殊的委托 //先定义委托 //服务器端类 public delegate void DelSendMsg(string msg); public class MobileServer { //事件是委托的实例对象 public static event DelSendMsg sendEvent; //将服务器端的消息推送给客户端的方法 public void SendMsg(string msg) { Console.WriteLine("服务器给客户端推送消息"); //如果是客户端已经订阅了该事件 if(sendEvent!=null) { sendEvent(msg);//事件的执行,关联到具体的事件绑定的方法执行 } } } //客户端类 public class MobileClient { //客户端订阅服务器端推送消息的功能 public void DingYue() { Console.WriteLine("手机客户端订阅了服务器端的推送消息"); mobileServer.sendEvent += new DelSendMsg(mobileServer_sendEvent); //事件不为空 } void mobileServer sendEvent(string msg) { Console.WriteLine("这是客户端接收到服务器端的推送消息"+msg); //事件所关联的方法 } } //main MobileServer moserver = new MobileServer(); MobileClient moclient = new MobileClient(); moclient.DingYue();//客户端订阅推送消息 mobileServer.SendMsg("新的推送");