我們在使用.net或第三方類庫時,根據業務需要需增加乙個函式類處理,但又不想在其他類中呼叫只想在原有類中呼叫,又不能直接修改原始碼,該如何實現呢?這時我們可以用擴充套件方法實現。
這裡我們以在system.string中增加乙個將字串轉換為int32輸入的函式為例來講解如何定義和使用擴充套件方法
1、自定義乙個靜態類,類名任意,此處為stringextand
public static class stringextand
}
自定義方法第乙個引數為關鍵字this+要擴充套件的物件型別,後面還可以增加額外引數,即:public static int toint32(this string str,string str1,...)
定義完以後,我們就可以在任意string物件中使用toint32()方法了
可以看出,使用擴充套件方法很方便,直接在原有物件上就可以呼叫。
c 如何擴充套件型別的內建方法
c 3.0 vs2008 支援在任何型別上擴充套件生成自定義的方法。比如說想在string型別的物件裡面多乙個toint32 來方便的將字元轉換成整形。在實現的過程中的關鍵字為static和this 下面我們來做乙個在string型別中新建乙個toint32的自定義方法 public static ...
C 擴充套件方法
c 語言從3.0開始增加了乙個很特別的功能 擴充套件方法。那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。下面舉例說明 一 我們建立乙個類庫如下 c...
C 擴充套件方法
c 語言從3.0開始增加了乙個很特別的功能 擴充套件方法。那麼擴充套件方法起什麼作用呢?很多時候我們想為已經存在的類擴充套件某些功能,而又沒有必要去繼承該類,甚至有時候這個類根本就不允許繼承,如string類,這時候就可以使用擴充套件方法來為其擴充套件功能。下面舉例說明 一 我們建立乙個類庫如下 c...