關於學習委託事件的經典例子!

2021-04-13 09:58:09 字數 2326 閱讀 3906

兩個例子均用現實的例子來解釋委託事件的處理過程。很好!  

第乙個例子  

public  delegate  void  eateventhandler(object  sender,  eateventargs  e);    

這個的定義也可以不要這樣.可以直接就定義乙個引數  

public  delegate  void  eateventhandler(string  e);  但然用的時候的引數要相對應好哦  

using  system;    

namespace  nseventsample    

///  

///  這個委託用來說明處理吃飯事件的方法的方法頭(模式)    

///  

public  delegate  void  eateventhandler(object  sender,  eateventargs  e);    

///  

///  引發吃飯事件(eateevent)的類master(主人),這個類必須    

///  1.宣告乙個名為eatevent的事件:  public  event  eateventhandler  eatevent;    

///  2.通過乙個名為oneatevent的方法來引發吃飯事件,給那些處理此事件的方法傳資料;    

///  3.說明在某種情形下引發事件呢?在餓的時候。用方法hungrg來模擬。    

///  

public  class  master    

}    

//當主人餓的時候,他會指定吃飯地點和消費金額。    

public  void  hungry(string    restrauntname,  decimal  moneyout)    

吃飯,消費元",  e.restrauntname,  e.moneyout);    

//引發事件    

oneatevent(e);    

}    

}    

///  

///  類servant(僕人)有乙個方法arrangefood(安排食物)來處理主人的吃飯事件    

///  

public  class  servant    

",  e.restrauntname);    

console.writeline("準備消費  --  元  ",  e.moneyout);    

console.writeline("好的,正給您安排。。。。。。。。");    

console.writeline("主人,您的食物在這兒,請慢用");    

}    

}    

///  

///  類god安排qinshihuang(秦始皇)的僕人是lisi(李斯),並讓李斯的arrangefood    

///  方法來處理qinshihuang的吃飯事件:qinshihuang.eatevent  +=  new  eateventhandler(lishi.arrangefood);    

比如說乙個公司(場景),你是老闆,手下有兩個員工,小張和小李。你命令小張注意小李,在開發軟體工作的時候如果上網打遊戲,你就記錄下來,從小李工資裡扣100元錢。這個實際上就是現實中的委託。  

現在給出乙個**,c#控制台程式,編譯執行通過  

using  system;  

namespace  csharpconsole  

}  //  負責扣錢的人  

public  class  小王  

public  void  扣錢(object  sender,eventargs  e)  

{  console.writeline("小王:好小子,上班時間膽敢玩遊戲...");  

console.writeline("小王:看看你小子有多少錢...");  

小張  f  =  (小張)sender;  

console.writeline("小張的錢:  "  +  f.錢.tostring());  

console.writeline("開始扣錢......");  

system.threading.thread.sleep(500);  

f.錢  =  f.錢  -  500;  

console.writeline("扣   

C 委託 事件 學習

1.委託delegate 委託delegate也是一種型別,在任何可以宣告類的地方都可以宣告委託,它將方法當做另乙個方法的引數進行傳遞,這樣就可以傳遞不同的方法,完成不同的功能,使程式具有很好的可擴充套件性。舉例 假設這裡有一台電腦,有人會用它寫程式,有人會用它打遊戲,有人會用它看電影,有人會用它邊...

關於委託事件的一兩個很好的例子!

兩個例子均用現實的例子來解釋委託事件的處理過程。很好!第乙個例子 public delegate void eateventhandler object sender,eateventargs e 這個的定義也可以不要這樣.可以直接就定義乙個引數 public delegate void eatev...

委託事件概述 簡單學習)

委託 c 程式設計指南 這麼定義 委託 是一種定義方法簽名的型別,可以與具有相容簽名的任何方法關聯。您可以通過委託呼叫方法。委託用於將方法作為引數傳遞給其他方法。事件處理程式就是通過委託呼叫的方法。您可以建立乙個自定義方法,當發生特定事件時某個類 例如 windows 控制項 就可以呼叫您的方法。下...