對於乙個已有類來說,其方法應該是固定的,但有些時候我們需要給其新增新的方法來實現一些新功能。比如說,將double陣列以字串形式輸出,double.tostring()得到的結果是system.double,而不是我們想要的。那麼,如何實現這種效果呢?單獨寫乙個方法也是可以的,如:
public string doublearraytostring(double doublearray)
"));
return string.join(",", str);
}
但是還有一種更直觀的方法,就是給double陣列加上乙個方法,如double.doublearraytostring(),這樣我們寫起來也會更舒服。那麼,這要怎麼實現呢,其實很簡單,只需要對上述方法的double引數前加個this關鍵字即可。即:
public static string doublearraytostring(this double doublearray)
"));
return string.join(",", str);
}
需要注意的是,擴充套件方法必須在卡泛型靜態類中定義。 C 學習 擴充套件方法
並不是所有的方法都可以用作擴充套件方法,如何分辨 中定義的是擴充套件方法還是普通方法呢?我們需要考察它是否符合下列擴充套件方法的定義規則 1.擴充套件方法必須在乙個非巢狀 非泛型的靜態類中定義 2.它至少要有乙個引數 3.第乙個引數必須加上this關鍵字作為字首 第乙個引數型別也稱為擴充套件型別,即...
C 擴充套件方法 學習
c 中可以定義擴充套件方法,還可以為集合做擴充套件方法。示例如下 using system using system.collections.generic using myspace 注意 引入擴充套件方法的空間 namespace con 1 先生。with xugang console.wri...
C 學習筆記4 擴充套件方法
有許多方法擴充套件類。如果有類的源 繼承就是給物件新增給你的好方法。但如果沒有源 該怎麼辦?此時可以使用擴充套件方法,擴充套件方法是靜態方法,是類的一部分,但實際上沒有放在類的源 中。定義和呼叫擴充套件方法步驟 1 定義乙個靜態類以包含擴充套件方法。該類必須對客戶端 可見。有關可訪問性規則的更多資訊...