<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    紅知博客

    知其然,亦知其所以然
    posts - 32, comments - 35, trackbacks - 0, articles - 0

    使用委托的優點,委托和事件的區別和聯系

    Posted on 2007-09-14 09:45 紅子 閱讀(5499) 評論(2)  編輯  收藏 所屬分類: C#/.NET設計模式
                        使用委托的優點,委托和事件的區別和聯系

           C#中的委托類似于C或C++中的函數指針。使用委托使程序員可以將方法引用封裝在委托對象內。然后可以將該委托對象傳遞給可調用所引用方法的代碼,而不必在編譯時知道將調用哪個方法。與C或C++中的函數指針不同,委托是面向對象,而且是類型安全的。

      C#中的“事件”是當對象發生某些事情時,類向該類的客戶提供通知的一種方法。事件最常見的用途是用于圖形用戶界面;通常,表示界面中的控件的類具有一些事件,當用戶對控件進行某些操作(如單擊某個按鈕)時,將通知這些事件。

      使用委托來聲明事件。委托對象封裝一個方法,以便可以匿名調用該方法。事件是類允許客戶為其提供方法(事件發生時應調用這些方法)的委托的一種方法。事件發生時,將調用其客戶提供給它的委托。



    注明委托是對方法的包裝       在不確定要調用什么方法時候而又不能用抽象或者多態實現的時候用委托。

                比如一個button,當點擊肯定要觸發事件,做一些處理,如果你是這個控件的開發者,你怎么知道當點擊是要處理什么?你這個button會被什么容器所包含?所以你必須公布一個event出去,用控件的人具體去實現其功能。  

    參考
             1、如下情況宜使用委托:     
        
                          只調用單個方法時.     
                          當一個類需要方法說明的多重執行時.     
                           期望使用靜態方法執行規范時.     
                           期望得到一個類似事件的模式時.     
                           調用者無需知道無需獲取定義方法的對象時     
                           只想給少數既定組件分發執行規范時.     
                           想要簡單的組成結構時.     

              2、如下情況宜使用接口:   
        
                           當規范定義了一組需要調用的相關方法時.     
                           一個類僅代表性地執行一次規范時.     
                           接口的調用者想映射接口類型以獲取其他類或接口時

               3、對函數指針以.net的方式進行的封裝,其實就是一個class。   
        
                      應用最多的就是事件,在事件的情況下委托就變成了對回調函數指針的封裝。   
        
                      推薦:看看《.net框架程序設計》(李建忠譯)

    Feedback

    # re: 使用委托的優點,委托和事件的區別和聯系  回復  更多評論   

    2008-07-28 17:01 by he
    OK

    # re: 使用委托的優點,委托和事件的區別和聯系  回復  更多評論   

    2008-10-30 16:01 by 事實上
    熱騰騰
    我要啦免费统计
    主站蜘蛛池模板: 免费国产不卡午夜福在线| 亚洲视频在线免费观看| 亚洲AV区无码字幕中文色 | 亚洲白色白色永久观看| 亚洲一卡2卡3卡4卡乱码 在线| aⅴ在线免费观看| 亚洲成在人线电影天堂色| 91精品免费国产高清在线| 亚洲av成人综合网| 暖暖日本免费在线视频 | 亚洲人成无码www久久久| 大片免费观看92在线视频线视频| 国产一区二区三区免费看| 四虎精品免费永久免费视频| 亚洲人成电影网站国产精品| 久久青草免费91观看| 亚洲国产成人精品无码一区二区| 免费电影在线观看网站| 久久精品亚洲男人的天堂| 成人性生交大片免费看好| 亚洲欧洲自拍拍偷综合| 24小时日本在线www免费的| 国产成人综合亚洲一区| 亚洲啪啪综合AV一区| 99精品一区二区免费视频| 亚洲永久网址在线观看| 亚洲第一区在线观看| 免费视频一区二区| 亚洲精品无码99在线观看| a毛片在线免费观看| 亚洲人成在线免费观看| 国产精品免费一级在线观看| 精品国产污污免费网站入口在线 | 涩涩色中文综合亚洲| 国产精品免费看香蕉| 你是我的城池营垒免费观看完整版| 亚洲视频一区在线| 国产免费观看网站| 男女作爱在线播放免费网站| 亚洲欧美日韩自偷自拍| 国产精品亚洲а∨无码播放|