EventHandler委托的使用


      今天復習了一下事件和委托,本來看事件來着,看到EventHandler,寫了一個小例子,想貼在這里解釋一下。為了弄清楚EventHandler,

還是回歸到最基本的委托,曾經在園子里看到一位前輩用深入淺出的語言寫了委托,有些印象,收藏了,鏈接是:http://www.cnblogs.com/xcj26/p/3536082.html#2882421

      非常羡慕他對抽象概念的清晰有條理的描述,把委托的定義和使用分一二三寫出來,非常地直白。

     step1:首先用delegate定義一個委托 。

     step2:聲明一個方法來對應委托。

     step3:用這個方法來實例化這個委托。

     step4:調用委托。(自己加的)

    按照這個步驟我自己寫一個簡單的例子:

  

 1 class Program
 2 {
 3     //step1  定義委托
 4     public  delegate void ShowCity(string cityName);
 5  
 6    //step2  聲明與委托對應的方法
 7    public static ShowCityFunction(cityName)
 8    {
 9        Console.WriteLine(cityName);
10     }
11 
12 
13     static void Main()
14      {
15          //step3  實例化委托
16      ShowCity show=new ShowCity(ShowCityFunction);
17 
18           //step4  實例化委托
19       show.Invoke("su zhou");
20           show("shang hai");  // 兩種調用方式的效果一樣
21 
22      Console.ReadLine();
23 
24      }
25 
26 }
View Code

 上面有個筆誤,不影響理解。下面按照上面的4個步驟來理解EventHandler,先給出EventHandler的官方定義:

    EventHandler 委托是專門表示事件的事件處理程序方法不生成數據的預定義的委托。很拗口的感覺!鏈接在此,自己看:

    http://msdn.microsoft.com/zh-cn/library/system.eventhandler(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

   貼出按照微軟的例子照抄的代碼,加深一下印象:

       

 

 

        真正的調用在這里:

       

 

 

    到這里,基本就結束了,現在的理解只能達到這個程度了。

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM