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

    下边Demo如果是在vs2012 下运行需要进入调试模式一遍才能正常运行出结果

    namespace ConsoleApplication2
    {
        public delegate void messageHandler(string msg);
    
        public class Connection
        {
            public event messageHandler MessageArried;
    
            private Timer pollTimer;
    
            public Connection()
            {
                pollTimer = new Timer(100);
                pollTimer.Elapsed += new ElapsedEventHandler(CheckForMsg);
            }
    
            public void Connect()
            {
                pollTimer.Start();
            }
    
            public void DisConnect()
            {
                pollTimer.Stop();
            }
    
            private static Random random = new Random();
    
            void CheckForMsg(object sources, ElapsedEventArgs e)
            {
                Console.WriteLine("Checking for new messages");
                if ((random.Next(9) == 0) && (MessageArried != null))//使用了委托语法,但语法略有不同,其含义为“事件是否有订阅者?”如果没有订阅者,MessageArrived就是null,也就不会引发事件。
                {
                    MessageArried("Hello Mum!");
                }
            }
        }
    
        class Display
        {
            public void DisplayMsg(string message)
            {
                Console.WriteLine("Msg arrived:{0}", message);
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Connection conn = new Connection();
                Display display = new Display();
                conn.MessageArried += new messageHandler(display.DisplayMsg);
                conn.Connect();
    
                Console.ReadKey();
    
            }
    
        }
    }

    clip_image002

  • 相关阅读:
    bzoj 3238
    bzoj 3473 后缀自动机多字符串的子串处理方法
    bzoj 2998 第k小字串
    bzoj 3672 利用点分治将CDQ分治推广到树型结构上
    bzoj 3671 贪心
    NOIP模拟题——nan
    NOIP模拟题——kun(栈)
    hduP2586——How far away ?
    DP习题
    NOIP模拟题——来自风平浪静的明天
  • 原文地址:https://www.cnblogs.com/potoofly/p/2968986.html
Copyright © 2011-2022 走看看