學習了委託,看了幾個例子,在這裡寫出自己的看法,如果有什麼不正確的理解 還望您能指出。2010-12-03
顧名思義"委託" 有中介之意,也就是說通過乙個中間人搭線鏈結頭和尾,距離來說就是說比如你想進皇宮見皇帝做生意,那麼你需要太監帶你進去,那麼「委託」就是太監,你和他不會有任何交流,只是把你自己交給他,然後他把你帶進去,等你見了皇帝之後,才開始做生意。
下面是乙個例子:
上例輸出:輸出:
multiplying by 2: 1.23 gives 2.46
squaring: 1.23 gives 1.5129
squaring: 1.23 gives 1.5129
例子中可以看出,定義了委託之後,在建立委託時把方法作為委託的引數(mathsop operation =
newmathsop( mydelegate.multiplyby2 )),在引用時委託把引數傳給方法執行操作(operation( x )),也就是說委託至始至終就是傳遞,來回傳遞。需要注意的是,委託的定義需要在空間namespace之內,在類class之外。上例中的委託有「-=」和「+=」運算子,這是多路廣播委託,也就是說委託可以用這兩個運算子來新增或移除引數,委託時可以有多個引數的,也就是說通過委託可以同時執行多個方法。
參考:http://www.cnblogs.com/michaelxu/archive/2008/03/31/1131500.html
C 委託例項
委託是乙個特殊的類,它定義了方法的型別,可以將方法當作另乙個方法的引數來進行傳遞,這種方法動態地賦給引數的做法,可以避免在程式中大量使用if else switch 語句,同時也使得程式具有更好的擴充套件性。委託機制尤其適合在使用事件處理的程式設計模式或者類的靜態方法,以及在需要封裝和靈活的組織方法...
C 委託例項
下面是微軟給出的官方解釋,自行感受一下,本質就是把方法當作引數使用 delegate 是表示對具有特定引數列表和返回型別的方法的引用的型別。在例項化委託時,你可以將其實例與任何具有相容簽名和返回型別的方法相關聯。你可以通過委託例項呼叫方法。委託用於將方法作為引數傳遞給其他方法。事件處理程式就是通過委...
委託的無敵解釋
經常許多人問的,net中的委託以及事件處理。我拿簡單的例子說明一下,是現實中的例子 比如說乙個公司 場景 你是老闆,手下有兩個員工,小張和小王。你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。這就是現實中的委託。實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方...