簡單介紹C# 中的擴(kuò)展方法
擴(kuò)展方法是C#3.0引入的新特性,使用它,可以在不修改某一類的代碼的情況下,實(shí)現(xiàn)該類方法的擴(kuò)展。
為一個類添加擴(kuò)展方法,需要三個要素:
1.擴(kuò)展方法所在的類為靜態(tài)類
2.擴(kuò)展方法本身要為靜態(tài)方法
3.擴(kuò)展方法的第一個參數(shù)要用關(guān)鍵字this,指向要擴(kuò)展的類
下面請看一個實(shí)例:
//靜態(tài)類 public static class TestExtensionM { //靜態(tài)方法 public static int ExtensionInt(this int s) //this關(guān)鍵字 { return s + s; } }
這個擴(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; } }
使用的時候,傳入對應(yīng)的參數(shù)即可
int a = 9; a = a.ExtensionInt(6); Debug.WriteLine(a);
這種靈活的方式,可以讓我們的開發(fā)更便捷,但是不要濫用擴(kuò)展方法,當(dāng)擴(kuò)展方法與類原始的方法重名時,原始方法的優(yōu)先級高于擴(kuò)展方法,并且對于系統(tǒng)類,不要隨便添加擴(kuò)展方法。
以上就是C# 中的擴(kuò)展方法簡介的詳細(xì)內(nèi)容,更多關(guān)于c# 擴(kuò)展方法的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#編程簡單實(shí)現(xiàn)生成PDF文檔的方法示例
這篇文章主要介紹了C#編程簡單實(shí)現(xiàn)生成PDF文檔的方法,結(jié)合實(shí)例形式分析了C#生成PDF文檔的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07Unity Shader實(shí)現(xiàn)徑向模糊效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)徑向模糊效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08C#實(shí)現(xiàn)根據(jù)字節(jié)數(shù)截取字符串并加上省略號的方法
這篇文章主要介紹了C#實(shí)現(xiàn)根據(jù)字節(jié)數(shù)截取字符串并加上省略號的方法,比較實(shí)用的功能,需要的朋友可以參考下2014-07-07C#動態(tài)加載組件后如何在開發(fā)環(huán)境中調(diào)試詳解
這篇文章主要給大家介紹了關(guān)于C#動態(tài)加載組件后如何在開發(fā)環(huán)境中調(diào)試的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03