zoukankan      html  css  js  c++  java
  • 我对委托/事件的理解

    我对委托/事件的理解
    当想实现下面这个功能的时候就可以用委托/事件,
    有一个主程序,其中有一个看PPT文档的类,但是看PPT速度很慢,主程序继续运行,当PPT看完了之后

    需要通知主程序,这时候就需要使用委托/事件。
    --------------------------------------------------
    在看PPT类中定义委托和事件,如
    public delegate void ReadPPTEndEventHandler(参数,参数,参数);
    public event ReadPPTEndEventHandler ReadPPTEndEvent; //再用上面的方法定义一个Event
    假设PPT里面有一个Read()方法
    pulibc void Read()
    {
     //....若干代码
     //当读完了之后,这里需要调用ReadPPTEndEvent,其实就是调用主程序的一个方法,去通知

    主程序
     if(ReadPPTEndEvent!=null)
     {
      this.ReadPPTEndEvent(参数,参数,参数);
     }
    }
    --------------------------------------------------
    再看主程序代码,
    主程序中肯定有一个和ReadPPTEndEventHandler(参数,参数,参数)参数一样的方法,假设叫做
    Main_ReadPPTEndEvent(参数,参数,参数),注意:这里只需要参数对应就可以,方法随便!!
    --------------------------------------------------
    下面是开始调用

    PPT.ReadPPTEndEvent += new PPT.ReadPPTEndEvent(Main_ReadPPTEndEvent);//这里声明,必须把主

    程序的方法Main_ReadPPTEndEvent传入
    PPT ppt = new PPT();
    ppt.Read();
    --------------------------------------------------
    :( 我的理解就是这样。。。。

  • 相关阅读:
    HDU1029 Ignatius and the Princess IV
    UVA11039 Building designing【排序】
    UVA11039 Building designing【排序】
    POJ3278 HDU2717 Catch That Cow
    POJ3278 HDU2717 Catch That Cow
    POJ1338 Ugly Numbers(解法二)
    POJ1338 Ugly Numbers(解法二)
    UVA532 Dungeon Master
    UVA532 Dungeon Master
    POJ1915 Knight Moves
  • 原文地址:https://www.cnblogs.com/yesun/p/409106.html
Copyright © 2011-2022 走看看