C 的擴充套件方法

2022-04-30 17:24:16 字數 453 閱讀 4074

一、擴充套件方法必須符合以下要求

1.方法所在的類必須是靜態的

2.方法也必須是靜態的

3.方法的第乙個引數必須是你要擴充套件的那個型別,比如你要給int擴充套件乙個方法,那麼第乙個引數就必須是int。

4.在第乙個引數前面還需要有乙個this關鍵字。

二、擴充套件方法的幾點總結

1、可以向類中新增新方法,而不需要使用繼承來建立新類,也不需要修改原有的類;

2、如果擴充套件方法與類中的方法有相同的簽名,則擴充套件方法不會被呼叫,即:擴充套件方法會被被擴充套件類的同名方法覆蓋,所以實現擴充套件方法我們需要承擔隨時被覆蓋的風險(例如:如果擴充套件乙個string類中的tostring(), 這時候擴充套件方法是無效的);

3、擴充套件方法不能訪問被擴充套件類的私有成員

4、擴充套件方法只能使用例項來呼叫,不能像普通的靜態方法一樣使用類名呼叫;

5、只有引入擴充套件方法所在的命名空間後,擴充套件方法才可以使用。

C 的擴充套件方法

前言 上篇 序列化效率比拼 誰是最後的贏家newtonsoft.json 介紹了下序列化方面的知識。看過demo的朋友可能注意到了裡面就用到過泛型的擴充套件方法,本篇打算總結下c 擴充套件方法的用法。博主打算分三個層面來介紹這個知識點,分別是 net內建物件的擴充套件方法 一般物件的擴充套件方法 泛...

C 擴充套件方法

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

C 擴充套件方法

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