zoukankan      html  css  js  c++  java
  • 自定义事件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Timers; // 计时器
    
    
    namespace DemoConnection
    {
        public delegate void MessageHandler(string messageText);
        public class Connection
        {
            public event MessageHandler MessageArrived; // 定义一个委托的实例
            private Timer pollTimer;
    
            public Connection()
            {
                pollTimer = new Timer(100);
                pollTimer.Elapsed += new ElapsedEventHandler(CheckForMessage); // 每一百毫秒执行一次
            }
    
            public void Connect()
            {
                pollTimer.Start();
            }
    
            public void Disconnect()
            {
                pollTimer.Stop();
            }
    
            private static Random random = new Random();
            private static int count = 0;
    
            private void CheckForMessage(object source,ElapsedEventArgs e)
            {
                Console.WriteLine("检测新消息.");
                if ((random.Next(9) == 0) && (MessageArrived != null))
                {
                    count++;
                    //触发MessageArrived事件
                    MessageArrived("第"+count+"次问候您!");
                }
            }
    
        }
    
        public class Display
        {
            public void DisplayMessage(string message)
            {
                Console.WriteLine("消息来了:{0}",message);
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Connection myConnection = new Connection();
                Display myDisplay = new Display();
                //将一个委托实例赋值给事件MessageArrived
                myConnection.MessageArrived += new MessageHandler(myDisplay.DisplayMessage);
                myConnection.Connect();
                Console.ReadKey();
            }
        }
    }
    

    方法论:说实话,我还不太理解这段代码。

  • 相关阅读:
    让Dreamweaver支持cshtml (MVC Razor环境)
    href="#"与href="javascript:void(0)"的区别
    ASP.NET MVC 4 中Razor 视图中JS无法调试 (重要)
    03011_HttpServletRequest
    1004. 成绩排名 (20)
    1003. 我要通过!(20)
    C语言文件读写命令fprintf和fscanf
    1002. 写出这个数 (20)
    1001. 害死人不偿命的(3n+1)猜想 (15)
    汇编in和out实例解析
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6803018.html
Copyright © 2011-2022 走看看