国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

初學(xué)筆記(C#委托)

2019-11-17 02:54:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

初學(xué)筆記(C#委托)

1.委托的概述

簡(jiǎn)單說(shuō),委托就是把方法當(dāng)作參數(shù)傳遞。

委托(delegate)是一種動(dòng)態(tài)調(diào)用方法的類(lèi)型,它與類(lèi)、接口和數(shù)組一樣,都屬于引用型。在C#中,可以申聲明委托類(lèi)型、創(chuàng)建委托實(shí)例、把方法封裝在委托對(duì)象中。一個(gè)完整的飯否發(fā)具有方法名、返回值和參數(shù)列表,用來(lái)引用方法的委托也要求必須具有相同的返回值和參數(shù)列表。

委托對(duì)象的本質(zhì)代表了方法的引用(即內(nèi)存地址),具有以下特點(diǎn):

  • 與C++中的指針相似,但不同的是委托是完全面向?qū)ο蟮模前踩臄?shù)據(jù)類(lèi)型。
  • 委托允許將方法作為參數(shù)傳遞。
  • 委托可用回調(diào)函數(shù)。
  • 委托可以把多個(gè)方法連在一起。可在觸發(fā)事件時(shí),啟動(dòng)多個(gè)事件處理程序。

2.委托的聲明、實(shí)例化與使用

2.1委托的聲明

委托是一種引用型的數(shù)據(jù)類(lèi)型,在C#中使用關(guān)鍵字delegate聲明,一般形式如下:

[訪問(wèn)修飾符] delegate 返回值類(lèi)型 委托名([參數(shù)列表])

2.2 委托的實(shí)例化

委托是一種特殊的數(shù)據(jù)類(lèi)型,因此必須實(shí)例化之后才能用來(lái)調(diào)用方法。一般形式如下:

委托類(lèi)型委托變量名=new 委托型構(gòu)造函數(shù)(委托要引用的方法)

2.3 使用委托

實(shí)例化之后,就可以通過(guò)委托對(duì)象調(diào)用它所引用的方法。使用委托對(duì)象調(diào)用所有所有的方法時(shí),必須保證參數(shù)的類(lèi)型、個(gè)數(shù)、順序和方法聲明匹配。

2.4使用匿名方法

允許將代碼塊作為參數(shù)傳遞,以避免單獨(dú)定義方法,使用匿名方法創(chuàng)建委托對(duì)象的一般形式如下:

委托類(lèi)型 委托變量名=delegate([參數(shù)列表]){//代碼塊}

3.多路廣播與委托組合

實(shí)際上,C#允許使用一個(gè)委托對(duì)象調(diào)用多個(gè)方法,當(dāng)向委托添加更多的指向其他方法的引用時(shí),這些引用將被存儲(chǔ)在委托的調(diào)用列表里,這種委托叫多路廣播委托。C#的所有委托都是隱式的多路廣播委托。向一個(gè)委托的調(diào)用列表添加多個(gè)方法引用,可以通過(guò)該委托一次性調(diào)用所有的方法,這個(gè)過(guò)程稱(chēng)為多路廣播。

實(shí)現(xiàn)多路廣播的方法有兩種:

  • 通過(guò)“+”運(yùn)算符直接將兩個(gè)同類(lèi)型的委托對(duì)象組合起來(lái)。

例如:

假設(shè)有一委托Calculate

Calculate a=new Calculate(Add);

Calculate b= new Calculate(Mulipty);

a=a+b;

由于一個(gè)委托對(duì)象只能返回一個(gè)值,且只返回調(diào)用列表中最后一個(gè)方法的返回值,因此為了避免混淆,建議在使用多路廣播時(shí),每個(gè)方法均用void定義。

  • 通過(guò)“+=”運(yùn)算符將新創(chuàng)建的委托對(duì)象添加到委托調(diào)用列表zhong。還可以使用“-=”運(yùn)算符來(lái)移除調(diào)用列表中的委托對(duì)象。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 韩城市| 孟村| 华蓥市| 巨鹿县| 依兰县| 翁源县| 腾冲县| 仙居县| 综艺| 东光县| 朝阳市| 福州市| 新乐市| 澎湖县| 赫章县| 祥云县| 南宁市| 中牟县| 宁武县| 确山县| 时尚| 新河县| 宁晋县| 沅江市| 田阳县| 阿图什市| 称多县| 香港| 化隆| 孝义市| 兴文县| 云安县| 海城市| 昔阳县| 英德市| 抚顺县| 乐平市| 北碚区| 开远市| 阆中市| 息烽县|