不講什麼廢話了,來點幹的,首先您看下這個類的定義和實現:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace exfunctions
", username);}}
}這是我在vs2008裡面建立的乙個類,這個ide可以選擇.net framework版本,我選擇的是3.5,上面這個類在.net framework 2.0中是乙個另類,這種寫法是c#3.0中的新特性,稱之為「擴充套件方法",在乙個非范型的靜態類裡面,我們通過宣告乙個帶this引數的靜態方法來實現擴充套件函式,擴充套件函式能夠在引數型別的例項物件中新增方法,比如上面的函式,我就為string型別的物件新增了乙個名為sayhello的函式,在使用的過程中,很是方便,使用**如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace exfunctions}}
再看看這幅圖,感覺3.0這個功能還是蠻有意義的,平時我們經常為了擴充套件一些類的行為,而繼承類,出於不同目的,我們會產生一些子類,而這些子類在使用的時候,我們時刻要關注其型別,通過擴充套件方法,我們可以輕鬆的更改原類,為原類添磚加瓦,使用的時候,也不必考慮型別轉換了,效率會因此提高一些,由此可見,ms的人性化作的真是非常到位了。
您還可以象使用靜態函式一樣使用擴充套件函式,如:
string welcomestring = testclass.sayhello(username);
所以,在我看來這個特徵還是蠻貼心的。
jillzhang [email protected]
C 3 0新特性之擴充套件方法
c 3.0擴充套件方法是給現有型別新增乙個方法。現在型別既可是基本資料型別 如int,string等 也可以是自己定義的類。demo 1 擴充套件基本型別 namespace testextensionmethods 測試擴充套件方法類 class program demo 2 擴充套件自定義型別,...
C 3 0新特性之擴充套件方法介紹
擴充套件基本型別 namespace testextensionmethods 測試擴充套件方法類 class program demo 2 擴充套件自定義型別,同時展示了擴充套件方法帶引數情況,以及方法過載 namespace testextendmethod public string desc...
C 3 0新特性之擴充套件方法介紹
c 3.0擴充套件方法是給現有型別新增乙個方法。現在型別即可是基本資料型別 如int,string等 也可以是自己定義的類。以下是引用片段 demo 1 擴充套件基本型別 namespace testextensionmethods 測試擴充套件方法類 class program demo 2 擴充...