經常許多人問的,.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)}}
// 定義委託處理程式
c 委託的通俗解釋 例項透析委託的骨架
學習了委託,看了幾個例子,在這裡寫出自己的看法,如果有什麼不正確的理解 還望您能指出。2010 12 03 顧名思義 委託 有中介之意,也就是說通過乙個中間人搭線鏈結頭和尾,距離來說就是說比如你想進皇宮見皇帝做生意,那麼你需要太監帶你進去,那麼 委託 就是太監,你和他不會有任何交流,只是把你自己交給...
對於「委託」的解釋摘錄(一)
委託很類似於c中的函式指標 包含對方法的引用 幫助決定在執行時呼叫哪個方法 步驟 定義委託 例項化委託 使用委託 定義委託 public delegate void delegatename 例項化委託 class testdelegates public int divfun int a,int ...
對於「委託」的解釋摘錄(二)
假如我定義了這樣乙個委託 public delegate void feedback object sender,eventargs e 注意,如果沒有學習過委託,看這句 好象只是乙個函式,其實這句話真正的用意是定義乙個委託型別,如果你了解他在.net框架裡面的具體形式,完全可以這樣寫 public...