• C#委托事件实例


    public delegate void TimeoutHandler(int connectID);

    public class UserOnLineChecker

    {

      public event TimeoutHandler SomeConnectionTimeOuted;

      private Timer timerForCheckOnLine;

      public UserOnLineChecker()

      {

        this.SomeConnectionTimeOuted = null;

      }

      private void OnLineCheckAction(object state)
          {

        if (this.SomeConnectionTimeOuted != null)
                {
                    this.SomeConnectionTimeOuted(state as int);
                }

      }

      public void Start()
           {
                this.timerForCheckOnLine = new Timer(new TimerCallback(this.OnLineCheckAction), null, 3* 60000, 3 * 60000);
            }

    }

    调用:

    public class UserLogin

    {

      private UserOnLineChecker tcpUserOnLineChecker;

      public UserLogin()

      {

          this.tcpUserOnLineChecker = new UserOnLineChecker();
                    //this.tcpUserOnLineChecker.Initialize(this.onLineCheckSpan);
                    this.tcpUserOnLineChecker.SomeConnectionTimeOuted += new TimeoutHandler(this.tcpUserOnLineChecker_SomeConnectionTimeOuted);

      }

      private void tcpUserOnLineChecker_SomeConnectionTimeOuted(int connectID)
            {

          //处理回调事件
              }

      public void Start()
            {
                this.tcpUserOnLineChecker.Start();//调用UserOnLineChecker类中委托注册事件方法
            }

    }

  • 相关阅读:
    编译问题----宏定义一定显示未定义
    低级错误记录-程序更新后,没有显示想要的结果
    云编译的优点-普及云编译
    telecommunication communication 的区别
    学习EPC架构演进历史知识
    EOF与feof的区别
    epoll惊群问题-解决思路
    epoll多路复用机制的学习
    进程组与组长进程
    记录博客开始
  • 原文地址:https://www.cnblogs.com/fx2008/p/2244535.html
Copyright © 2020-2023  润新知