zoukankan      html  css  js  c++  java
  • C#事件

    //////事件
    //事件是一种特殊的委托
    //先定义委托
    //服务器端类
    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("新的推送");
  • 相关阅读:
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    机器学习笔记
    第一次作业
    机器学习第一个次个人作业
    软工实践个人总结
    第10组 Beta版本演示
    第10组 Beta冲刺(5/5)
    第10组 Beta冲刺(4/5)
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11445065.html
Copyright © 2011-2022 走看看