西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)C#.NET → 對C#中的委托、事件即delegate和event的一些個人心得

對C#中的委托、事件即delegate和event的一些個人心得

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2010/11/24 8:45:25字體大。A-A+

作者:佚名點(diǎn)擊:108次評論:0次標(biāo)簽: 委托 事件 delegate event 心得

  • 類型:塔防游戲大。34.5M語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載
在C#中,所有的Type都是從Object派生而來,也就是說一切Type皆O(shè)bject。如果,再抽象一個層次,可以把函數(shù)也看成Object,可以用函數(shù)名+參數(shù)+返回值來標(biāo)識這個函數(shù)對象。

把函數(shù)看成Object后,自然可以把函數(shù)作為成員、變量來用,甚至可以作為另一個函數(shù)的參數(shù)值、返回值!
在C/C++中,用函數(shù)指針來實(shí)現(xiàn)這個功能。在C#中,為了類型安全,回避了指針。幸運(yùn)的是,在C#中,有在語義上等價于函數(shù)指針的delegate類型。
一個delegate實(shí)例可以引用一個函數(shù)。一旦把一個函數(shù)賦值給一個delegate,該delegate看起來就像是那個函數(shù)的替身。
由此可見,不同語言僅僅用不同的語法闡述了相同的思想!
《重構(gòu)》一書中,有"封裝字段"這個重構(gòu),這是一個非常簡單、非常樸素、一點(diǎn)都不花哨的重構(gòu)。但是,背后的思想非常深厚、深遠(yuǎn)、深邃。
在C#中有Property來實(shí)現(xiàn)這個重構(gòu)。沒有它的話,我們可能要多寫幾行GetXXX()、SetXXX()了。
如果,那個Field不是普通的字段,恰恰是個函數(shù)字段(即delegate實(shí)例)咋辦?難道函數(shù)字段就能暴露了嗎?!
既然,你已經(jīng)接受了它,就要好好對待它,千萬別虐待它!
同樣,在C#中有event來實(shí)現(xiàn)。沒有它的話,我們就又要多寫幾行AddXXX()、RemoveXXX()了!
當(dāng)你寫下:

public event EventHandler MyEvent;

就相當(dāng)于,寫了:
private EventHandler _myEvent;
public event EventHandler MyEvent{ add { lock (this) { _myEvent += value;
} } remove { lock (this) { _myEvent -= value;
} }}

是不是,與Property有異曲同工之效?!
相信,大家對event存在性的疑慮已經(jīng)消除!
另外,很多人疑惑"為啥只有+=、-=,而沒有="。
程序員很像木匠、瓦匠、漆匠、鐵匠……,都是靠手藝吃飯的。在長期的勞動中,有些善于思考師傅就總結(jié)出一些經(jīng)驗(yàn)!吨貥(gòu)》一書,就是馬師傅總結(jié)出來的。他認(rèn)為,要"封裝集合",因?yàn)橛泻锰帲?br />假設(shè),event支持=,如果一個年少無知的client,到你那里=了一下,你好不容易掛到的2個太陽3個月亮1個星星就沒了。
    魔獸塔防地圖
    (300)魔獸塔防地圖
    塔防,即炮塔防御的簡稱,也稱。塔防受眾很廣,游戲模式簡單而可玩性強(qiáng),是智力和策略的比拼。當(dāng)塔防與這兩種游戲類型融合在一起的話,游戲就會變得更好玩,同時也很休閑。小編在這里為大家搜集整理了許多魔獸爭霸塔防地圖,歡迎感興趣的玩家們前來下載。...更多>>
    塔防游戲
    (70)塔防游戲
    西西游戲網(wǎng)提供最新最熱門的塔防游戲,塔防游戲顧名思義就是炮塔防守游戲,玩家需要建造炮塔轟炸一些進(jìn)攻的敵人保衛(wèi)家園,塔防游戲操作都很簡單,就是在最合理的位置放置炮塔,無需其他的操作,可能有的塔防游戲會添加一些技能,但是也沒什么難度的哦.熱門游戲保衛(wèi)蘿卜獸人必須死炮塔防御塔防三國志等等,太多了。...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)