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

    1.事件与委托的紧密联系

    class A
    {
            //声明委托类型
            public delegate void ConfigHandler(int index,string path);
            //声明事件
            public event ConfigHandler ConfigEvent;
         
     }  

    如上,我声明了一个委托类型,此类型有两个参数,最后声明一个ConfigHandler类型的事件,虽然定义好委托与事件,如何执行事件,

    我们可以给执行事件封装一个方法,如下代码:到时只需要使用MyConfigEvent方法就能执行事件,并通知已经订阅该事件的对象。

    private void MyConfigEvent(int index,string path)
    {
      if (ConfigEvent != null)
      {
        ConfigEvent(index, path);
      }
    }

    2.订阅事件

    A a=new A()
    a.ConfigEvent+=new ConfigHandler(aa)
    //a.ConfigEvent-=new ConfigHandler(aa)//取消事件

    订阅事件的方法要和定义好的委托类型一致,

    public void aa(int index,string path)
    {
    MessageBox.Show(
    "事件通知触发"); }

    以后每次MyConfigEvent方法执行一次就要触发一次事件,并且通知aa方法。第一次写不太会,见解。

  • 相关阅读:
    小程序生命周期
    async/await实现图片的串行、并行加载
    移动应用区别
    小程序组件
    secureCRT
    LInux
    java实现八大排序算法
    求出所有排列 去重全排列 回溯算法
    二分法基本思想
    异常
  • 原文地址:https://www.cnblogs.com/xianyuxihuamao/p/7908604.html
Copyright © 2011-2022 走看看