c#3.0(vs2008)支援在任何型別上擴充套件生成自定義的方法。比如說想在string型別的物件裡面多乙個toint32(),來方便的將字元轉換成整形。
在實現的過程中的關鍵字為static和this
下面我們來做乙個在string型別中新建乙個toint32的自定義方法
public那麼在使用string的物件的時候,會多出乙個toint32的方法static
class
extension
//必須先宣告乙個靜態類,類名隨意
}
static既然可以擴充套件.net的內建型別,那能不能擴充套件自定義型別呢。void
main(
string
args)
public在使用a的物件的時候,會多出乙個extensionmethod方法classa//
先定義a類
public
static
class
extension
//必須先宣告乙個靜態類,類名隨意
//為a新增乙個extensionmethod方法
public
static
string
extensionmethod(
this
a a)
//擴建的方法必須是靜態方法,引數裡面必須含有this關鍵字,this關鍵字後面的型別
}
staticc#3.0的這個新特性意味著我們可以肆無忌憚的擴充套件我們想要擴充套件的型別,即便這個型別是從別的地方引用過來的。void
main(
string
args)
C 如何擴充套件方法
我們在使用.net或第三方類庫時,根據業務需要需增加乙個函式類處理,但又不想在其他類中呼叫只想在原有類中呼叫,又不能直接修改原始碼,該如何實現呢?這時我們可以用擴充套件方法實現。這裡我們以在system.string中增加乙個將字串轉換為int32輸入的函式為例來講解如何定義和使用擴充套件方法 1 ...
C 為型別擴充套件方法
什麼是擴充套件方法?擴充套件方法使您能夠向現有型別 或介面 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。擴充套件方法是一種特殊的靜態方法 但可以像擴充套件型別 上的例項方法一樣進行呼叫。對於用 c 和 visual basic 編寫的客戶端 呼叫擴充套件方法與呼叫在型別中實...
PHP如何新增內建的擴充套件
什麼時候server上php已安裝。需要額外補充php如何擴充套件?你並不需要再次安裝php。同phpize我們可以在原php安裝擴充套件直接的基礎上,這次編譯只不過單獨編譯php的擴充套件庫。接下來將編譯好的擴充套件庫 加入到如今執行的php中,不正確如今執行的php又一次編譯,所以沒有一點的影響...