zoukankan      html  css  js  c++  java
  • 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类中委托注册事件方法
            }

    }

  • 相关阅读:
    简单工厂设计模式
    MVC备忘
    在MVC后台代码中想实现删除时弹出"确认删除"效果
    集合
    嵌套
    整理 补课内容
    百鸡百钱
    ////输入一个100以内的数,判断是不是正整数;
    课后题 5 6
    课后题3,4
  • 原文地址:https://www.cnblogs.com/fx2008/p/2244535.html
Copyright © 2011-2022 走看看