簡單介紹C# 中的擴(kuò)展方法
擴(kuò)展方法是C#3.0引入的新特性,使用它,可以在不修改某一類的代碼的情況下,實(shí)現(xiàn)該類方法的擴(kuò)展。
為一個(gè)類添加擴(kuò)展方法,需要三個(gè)要素:
1.擴(kuò)展方法所在的類為靜態(tài)類
2.擴(kuò)展方法本身要為靜態(tài)方法
3.擴(kuò)展方法的第一個(gè)參數(shù)要用關(guān)鍵字this,指向要擴(kuò)展的類
下面請(qǐng)看一個(gè)實(shí)例:
//靜態(tài)類
public static class TestExtensionM
{
//靜態(tài)方法
public static int ExtensionInt(this int s) //this關(guān)鍵字
{
return s + s;
}
}
這個(gè)擴(kuò)展方法是服務(wù)于int類型的,返回它自己的2倍;
使用方法也很簡單:
int a = 9; a = a.ExtensionInt(); Debug.WriteLine(a);

a為9,調(diào)用擴(kuò)展方法以后,也看到了正確返回結(jié)果18
實(shí)際上也可以用: int.Add(a)的形式使用,但顯然上圖所示的更加簡單易用。
擴(kuò)展方法,也可以傳入?yún)?shù):
//靜態(tài)類
public static class TestExtensionM
{
//靜態(tài)方法
public static int ExtensionInt(this int s,int a) //this關(guān)鍵字
{
return s + a;
}
}
使用的時(shí)候,傳入對(duì)應(yīng)的參數(shù)即可
int a = 9; a = a.ExtensionInt(6); Debug.WriteLine(a);

這種靈活的方式,可以讓我們的開發(fā)更便捷,但是不要濫用擴(kuò)展方法,當(dāng)擴(kuò)展方法與類原始的方法重名時(shí),原始方法的優(yōu)先級(jí)高于擴(kuò)展方法,并且對(duì)于系統(tǒng)類,不要隨便添加擴(kuò)展方法。
以上就是C# 中的擴(kuò)展方法簡介的詳細(xì)內(nèi)容,更多關(guān)于c# 擴(kuò)展方法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C# SDK實(shí)現(xiàn)百度云OCR的文字識(shí)別功能
這篇文章主要為大家詳細(xì)介紹了C# SDK實(shí)現(xiàn)百度云OCR的文字識(shí)別功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
winform創(chuàng)建不規(guī)則窗體的方法
這篇文章主要介紹了winform創(chuàng)建不規(guī)則窗體的方法,涉及C#窗體創(chuàng)建的相關(guān)參數(shù)設(shè)置技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-09-09

