c 如何擴充套件系統內建類(C 3 0)

2022-02-23 01:59:17 字數 1809 閱讀 3728

c#3.0(vs2008)支援在任何型別上擴充套件生成自定義的方法。比如說想在string型別的物件裡面多乙個toint32(),來方便的將字元轉換成整形。

在實現的過程中的關鍵字為static和this

下面我們來做乙個在string型別中新建乙個toint32的自定義方法

view code

public 

static

class

extensions

//注意靜態

}

那麼在使用string的物件的時候,會多出乙個toint32的方法

view code

static 

void

main(

string

args)

既然可以擴充套件.net的內建型別,那能不能擴充套件自定義型別呢。

view code

public 

classa//

先定義a類

public

static

class

extensions

//為a新增乙個extensionmethod方法

public

static

string

extensionmethod(

this

a a)

}

在使用a的物件的時候,會多出乙個extensionmethod方法

view code

static

void

main(

string

args)

c#3.0的這個新特性意味著我們可以肆無忌憚的擴充套件我們想要擴充套件的型別,即便這個型別是從別的地方引用過來的。

c#3.0(vs2008)支援在任何型別上擴充套件生成自定義的方法。比如說想在string型別的物件裡面多乙個toint32(),來方便的將字元轉換成整形。

在實現的過程中的關鍵字為static和this

下面我們來做乙個在string型別中新建乙個toint32的自定義方法

view code

public 

static

class

extensions

//注意靜態

}

那麼在使用string的物件的時候,會多出乙個toint32的方法

view code

static 

void

main(

string

args)

既然可以擴充套件.net的內建型別,那能不能擴充套件自定義型別呢。

view code

public 

classa//

先定義a類

public

static

class

extensions

//為a新增乙個extensionmethod方法

public

static

string

extensionmethod(

this

a a)

}

在使用a的物件的時候,會多出乙個extensionmethod方法

view code

static

void

main(

string

args)

c#3.0的這個新特性意味著我們可以肆無忌憚的擴充套件我們想要擴充套件的型別,即便這個型別是從別的地方引用過來的。

C 3 0 新增擴充套件方法擴充套件現有類

擴充套件方法是c 3.0的又乙個特性,它允許開發人員在不建立派生型別和不修改原始型別的基礎上,直接向現有型別 新增 方法。擴充套件方法是一種特殊的靜態方法,但可以像擴充套件型別上的例項方法一樣進行呼叫。包含擴充套件方法的類必須定義為靜態 static 類,擴充套件方法也必須定義為靜態 static ...

C 3 0新特性之擴充套件方法

c 3.0擴充套件方法是給現有型別新增乙個方法。現在型別既可是基本資料型別 如int,string等 也可以是自己定義的類。demo 1 擴充套件基本型別 namespace testextensionmethods 測試擴充套件方法類 class program demo 2 擴充套件自定義型別,...

C 3 0新特性之擴充套件方法

不講什麼廢話了,來點幹的,首先您看下這個類的定義和實現 using system using system.collections.generic using system.linq using system.text namespace exfunctions username 這是我在vs200...