有許多人問的,.net中的委託以及事件處理。我拿簡單的例子說明一下,是現實中的例子:
比如說乙個公司(場景),你是老闆,手下有兩個員工,小張和小王。
你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。
這就是現實中的委託。
實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法,小張還有乙個遊戲事件,他玩遊戲激發這個事件。而小王就是事件處理物件,他負責把小張的錢扣除500。
所以,委託有如下幾個要素:
1 激發事件的物件--就是小張
2 處理物件事件的物件--就是小王
3 定義委託,就是你讓小王監視小張。
如果這三個要素都滿足的話,則你就寫出了乙個完整事件的處理。
namespace csharpconsole
}// 負責扣錢的人
public class 小王
public void 扣錢(object sender,eventargs e)
}// 如果玩遊戲,則引發事件
public class 小張
public int 錢 // 此屬性可以操作小張的錢。
set}
public void 玩遊戲()
protected virtual void onplaygame(eventargs e)}}
// 定義委託處理程式
public delegate void playgamehandler(object sender,system.eventargs e);
C 委託及事件
有許多人問的,net中的委託以及事件處理。我拿簡單的例子說明一下,是現實中的例子 比如說乙個公司 場景 你是老闆,手下有兩個員工,小張和小王。你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。這就是現實中的委託。實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法...
C 委託及事件
1.什麼是委託 委託 delegate 是乙個類,其定義了方法的型別,以實現將方法作為引數傳入另乙個方法。即委託可看作一種自定義的方法型別,可模擬自定義的資料型別來理解。使用者如果要使用委託,和c 中引用類的方法一樣,需要乙個例項化的載體。那這個載體就是事件 event 2.什麼是事件 事件是建立在...
C 委託及事件委託的初步理解
委託的宣告 public delegate void mydelegate string str 委託是一種特殊的型別 class 用途是來實現對一種方法的封裝。在某種事件發生時,自動呼叫該方法。好處顯然易見,它使使用者可以自定義自己的方法實現,通過封裝,clr會在相應事件激發時呼叫你定義的方法,實...