C 擴充套件方法

2021-09-25 10:00:21 字數 548 閱讀 6307

參考:《深入理解c#》

擴充套件方法必須具備以下特點:

1.必須在乙個非巢狀的,非泛型的靜態類中(因此必然是乙個靜態方法)

2.必須要有乙個引數

3.第乙個引數必須使用附加的this關鍵字作為字首

4.第乙個引數不能有其他任何修飾符(比如out或ref)

5.第乙個引數的型別不能是指標型別

第乙個引數的型別稱為擴充套件型別,即該方法擴充套件了該型別,下面的**中擴充套件了型別test

using system;

namespace extendedfunction

}public class test

class program}}

無法擴充套件多個方法

C 擴充套件方法

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

C 擴充套件方法

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

C 擴充套件方法

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