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

    C#中委托与事件的基本使用方法:

    //定义委托模板

    Public delegate void ReceiveMsgEventHandled(object sender,clsTcpMsgEventArgs e);

    //定义事件

    private event ReceiveMsgEventHandler ReceiveMsgEvent;

    //公有事件,注册事件

    Public event ReceiveMsgEventHandler e_ReceiveMsgEvent

    {

      add

      {ReceiveMsgEvent=(ReceiveMsgEventHandler)System.Delegate.Combine(ReceiveMsgEvent , value);}

      remove

      {ReceiveMsgEvent=(ReceiveMsgEventHandler)System.Delegate.Remove(ReceiveMsgEvent , value);}

    }

    //执行事件,方法体

    Private void m_ReceiveMsg(string strMessage)

    {

      clsTcpMsgEventArgs e=new clsTcpMsgEventArgs(strMessage);//创建事件消息对象

      if(ReceiveMsgEvent!=null)

        ReceiveMsgEvent(this,e);//执行事件

    }

    //调用此事件

    //1.声明,实例对象

    clsTcpClient myTcpClient=new clsTcpClient();//此类中包含上面的事件

    //2.注册调用事件方法

    myTcpClient.e_ReceiveMsgEvent += new clsTcpClient.ReceiveMsgEventHandle(m_ReceiveMsg);

    //3.事件执行的方法体

    Private void m_ReceiveMsg(object sender,clsTcpMsgEventArgs e)

    //事件消息类

    Public Class clsTcpMsgEventArgs : EventArgs  //继承至EventArgs

    {

      Public readonly string strTcpMsg;//只读,传递消息

      Public clsTcpMsgEventArgs(string TcpMsg)

        this.strTcpMsg=TcpMsg;

    }

  • 相关阅读:
    软件项目管理
    asterisk channel driver dev ref
    标 题: 有什么办法快速把pc上的网址发送到手机上
    dongle0
    ubuntu
    Huawei E1750 Asterisk
    Jquery重新学习之七[Ajax运用总结A]
    Jquery重新学习之六[操作XML数据]
    Jquery重新学习之五[操作JSON数据]
    Jquery重新学习之四[核心属性与文档处理属性]
  • 原文地址:https://www.cnblogs.com/hailexuexi/p/1784627.html
Copyright © 2011-2022 走看看