C 擴充套件方法

2021-05-25 22:47:28 字數 871 閱讀 7332

c#語言從3.0開始增加了乙個很特別的功能:擴充套件方法。

那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。

下面舉例說明:

一、我們建立乙個類庫如下:

code:

using system;   

using system.collections.generic;   

using system.linq;   

using system.text;   

namespace methodextendclasses   

return temp;   

}   

}   

}  

然後編譯。

code:

using system;   

using system.collections.generic;   

using system.linq;   

using system.text;   

using methodextendclasses;//此命名空間為擴充套件方法所在位置

}   

}  

編譯執行,結果為:abc_dd_tt。說明spacetounderline()方法起到了作用。

總結

我們在進行方法擴充套件時,需要注意以下幾點:

1. 擴充套件方法所在類必須是靜態的,而且必須是在頂級靜態類上定義。

2. 擴充套件方法必須是靜態的。

3.擴充套件方法的引數型別必須是要擴充套件的型別。

4. 引數型別前必須要加this關鍵字。

C 擴充套件方法

c 語言從3.0開始增加了乙個很特別的功能 擴充套件方法。那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。下面舉例說明 一 我們建立乙個類庫如下 c...

C 擴充套件方法

使用 net 3.0之後,我一直都覺得有種方法很奇怪,這種方法在一般的方法前面多了乙個藍色的向下箭頭。這種方法其實是擴充套件方法,這種擴充套件方法不需要去修改原類。class program public static class extendfunction 例子中我定義了乙個擴充套件方法,這個方...

c 擴充套件方法

擴充套件方法 可以給現有的型別新增 方法 是一種特殊的靜態方法,可以像在擴充套件型別上的例項一樣調擴充套件方法。定義擴充套件方法 1 定義乙個靜態類。2 在靜態類中定義靜態方法。靜態方法的第乙個引數前面用 this修飾。如下面的 給bool這個型別上新增了乙個將false和true轉換為漢字,真假的...