




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第深入理解C#委托delegate的使用目錄1.什么是委托2:委托的實現(xiàn)命名法委托靜態(tài)方法的實例化委托實例化方法的委托多播委托匿名委托什么時候適用委托
1.什么是委托
委托就是委托某個方法來實現(xiàn)具體的功能,類似于:甲方委托乙方去實現(xiàn)需求;出租房屋人委托中介為其出租房屋。
委托是一種引用類型,從數(shù)據(jù)結(jié)構(gòu)上來講:委托和類一樣,都是一直用戶自定義類型。
2:委托的實現(xiàn)
委托是對方法的抽象和封裝。委托對象實質(zhì)上代表了方法的引用(即內(nèi)存地址)他存儲的就是一系列具有相同簽名和返回類型的方法的地址
可以理解為函數(shù)的一個包裝,它使得c#中的函數(shù)可以作為參數(shù)來被傳遞
使用時遵循三步走原則:定義委托、實例化委托,調(diào)用委托
調(diào)用委托時,委托包含的方法將被執(zhí)行
委托有三種方法:命名方法委托、多播委托、匿名委托
命名法委托
1:定義委托
修飾符delegate返回值類型委托名{參數(shù)列表}
publicdelegatevoidFirstDelegate();
靜態(tài)方法的實例化委托
2:實例化委托
委托名委托對象名=new委托名{方法名}
FirstDelegatefirstDelegate=newFirstDelegate(Test.First);
委托的方法可以是靜態(tài)方法的名稱,也可以是實例化方法的名稱
方法:
publicclassTest
publicstaticvoidFirst()
Console.WriteLine("第一次實現(xiàn)靜態(tài)方法類的委托");
3:調(diào)用
firstDelegate();
實例化方法的委托
2:實例化委托
委托名委托對象名=new委托名{方法名}
FirstDelegatefirstDelegate=newFirstDelegate(newTest().First);
委托的方法可以是靜態(tài)方法的名稱,也可以是實例化方法的名稱
方法:
publicclassTest
publicvoidFirst()
Console.WriteLine("第一次實現(xiàn)實例化方法類的委托");
3:調(diào)用
firstDelegate();
多播委托
多播委托就是一個委托中注冊多個方法,在注冊方法時可以在委托中通過加號或則減號來實現(xiàn)添加或者撤銷的方法。
例如我想買飯吃又想和奶茶還想吃蛋糕,我委托一個人完不成,我需要委托三個人幫我完成,例如美團
1:定義委托
publicclassproblem
publicdelegatevoidBuyDelegate();
staticvoidmian()
{
BuyDelegatebuyDelegate=newBuyDelegate(Buy.BuyFood);
buyDelegate+=Buy.BuyCake;
buyDelegate+=Buy.BuyTea;
buyDelegate();
}
publicclassBuy
publicvoidBuyFood()
{
Conssole.WriyeLine("買個螺獅粉");
}
publicvoidBuyCake()
{
Conssole.WriyeLine("買個蛋糕");
}
publicvoidBuyTea()
{
Conssole.WriyeLine("買杯奶茶");
}
}
匿名委托
匿名委托就是使用匿名的方法注冊在委托上,實際上就是委托中通過定義代碼塊來實現(xiàn)委拖的作用
1:定義委托
修飾符delegate返回值類型委托名(參數(shù)列表)
2:實例化委托
委托名委托對象=delegate
{
代碼塊;
};
3:調(diào)用匿名委托
委托對象(參數(shù)列表);
1:實現(xiàn)水果買賣
publicclassprogram
publicdelegatevoidBuyFruit(doubleprice,doublecount)
staticvoidmain(string[]arg)
BuyFuritbuyFruit=delegate
Console.WriteLine("水果總價為"+price*count);
buyFruit(3,5);
}
什么時候適用委托
1:委托相當(dāng)于用方法作為另一方法參數(shù),同時,也可以實現(xiàn)在兩個不能直接調(diào)用的方法中做橋梁,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年干細胞治療神經(jīng)系統(tǒng)疾病臨床應(yīng)用臨床研究政策建議報告
- 智能穿戴醫(yī)療設(shè)備在運動健身監(jiān)測中的應(yīng)用與創(chuàng)新報告
- 電商平臺知識產(chǎn)權(quán)保護與品牌建設(shè)關(guān)系分析報告
- 基層醫(yī)療衛(wèi)生機構(gòu)信息化建設(shè)中的信息安全與風(fēng)險防控報告
- 2025年政策調(diào)控背景下房價走勢與房地產(chǎn)市場政策調(diào)整路徑優(yōu)化研究報告
- 2025年工業(yè)互聯(lián)網(wǎng)平臺邊緣計算硬件架構(gòu)邊緣計算設(shè)備多場景應(yīng)用案例分析報告
- 金融行業(yè)數(shù)據(jù)治理與隱私保護技術(shù)評估與認證報告2025
- 2025年電商平臺大數(shù)據(jù)驅(qū)動的用戶畫像拓展與精準(zhǔn)營銷報告
- 新解讀《GB-T 39135-2020建筑光伏玻璃組件色差檢測方法》
- 新解讀《GB-T 38826 - 2020 IPTV媒體交付系統(tǒng)技術(shù)要求 總體要求》
- 2025年清華emba面試題及答案
- 燃氣采購管理辦法
- 物料請購管理辦法
- 羊肚菌栽培及其管理課件
- 教師身體健康管理指南
- 《金恒織襪機WD2001D-6F操作手冊》
- 外研版八年級英語下冊期末復(fù)習(xí)之閱讀還原【答案+解析】
- 晚期腫瘤病人的臨終關(guān)懷與護理
- 肝膿腫病人護理
- 2025至2030中國薏米市場運行形勢與投資前景預(yù)測分析報告
- 2025年天津市中考物理試卷及答案
評論
0/150
提交評論