這幾天學(xué)到委托了,感覺(jué) 蠻頭痛的, 腦袋有點(diǎn)不夠用,幾番周折,終于,對(duì)于委托似乎有了點(diǎn)理解 ,現(xiàn)總結(jié)如下 :
什么是委托?
委托就是定義一個(gè) 對(duì)于方法的引用,類(lèi)似于c++中的函數(shù)指針。
委托的格式?
修飾符1 delegate 修飾符2 委托類(lèi)型名(變量n);
修飾符1 為定義的委托的范圍修飾符,常用public;
修飾符2為 返回值類(lèi)型修飾符,如 : void ,string ,char等;
名字 為我們定義一個(gè)委托類(lèi)型時(shí)所為它取得名字;
對(duì)于 變量n 我們常常會(huì)有疑惑,委托是一個(gè) 方法嗎? 為什么會(huì)有返回值 以及變量呢 ?
其實(shí),委托并不是一個(gè)方法 ,而是一個(gè) 類(lèi)型,它之所以有返回值以及變量是為了 保持 與其委托的方法 保持一致;
注意 : 委托是一個(gè) 類(lèi)型 所以我們常常把它定義在一個(gè) 類(lèi)的外面;
還有 ,委托類(lèi)型定義之后,我們還不能直接拿過(guò)來(lái)使用,還需要對(duì)它定義該類(lèi)型的 委托變量;
格式 :
修飾符1 delegate 修飾符2 委托類(lèi)型名(變量n);
委托類(lèi)型名 委托變量;
使用時(shí),還需要注意,我們?cè)谑褂脮r(shí)要使用定義的委托變量,而不是定義的委托類(lèi)型名,這類(lèi)似于我們定義枚舉型一樣; 因?yàn)槎x的委托變量是一個(gè)變量,所以 在使用之前我們還要對(duì)其進(jìn)行賦值。
格式: 修飾符1 delegate 修飾符2 委托類(lèi)型名(變量n);
委托類(lèi)型名 委托變量;
委托變量=委托方法名;
注意: 這里的委托方法名就是你要委托的方法的名字,而且注意,不要加上了方法的參數(shù)以及括號(hào),同時(shí) ,這里委托的方法 還要與 該委托類(lèi)型定義時(shí)所 定義的 返回值類(lèi)型、參數(shù)列表類(lèi)型以及參數(shù)個(gè)數(shù) 保持一致;
ok,現(xiàn)在 定義好了 委托類(lèi)型 ,該使用了 。 還記得委托是用來(lái)干嘛的嗎 ?
沒(méi)錯(cuò) ,委托是用來(lái)將方法作為參數(shù) 傳遞進(jìn)入其它方法的,
所以:
我們要先定義一個(gè) 方法;
范圍修飾符 【static】 返回值類(lèi)型修飾符 調(diào)用方法名( 變量n, 委托類(lèi)型 委托變量)
{
委托變量(變量n);
.
.
.
委托變量(變量 n);
}
上邊的變量n就是你所委托的方法的參數(shù);
開(kāi)始使用了 :
1) 委托類(lèi)型 委托變量;
2) 委托變量=委托方法名;
3) 調(diào)用方法名(變量n,委托變量);
完整示例如下:
using System;
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注