今天上了SkillTree的物件導向實作課程(使用C#)第八梯課程,得到一個非常實用的寶物,就是如何撰寫擴充方法,看到這個眼睛整個都亮了起來,平常遇到一堆都要另外抽開的方法,現在可以簡單地透過一個點就完成,實在是有夠讚的!
所謂的擴充方法就是針對已經被封裝過的型別,再為他撰寫其他可使用的方法。
例如我有多處要將字串格式化成日期,這時候我建一個Class還必須new才能使用,那換個方式改用static呢?
仍需要 類別名稱.靜態方法 對吧?
要是能直接針對string型別提供一個自行定義的函式不是方便很多嗎?
這時候擴充方法就派上用場啦!
先來說說擴充方法的必備條件
1.類別名稱可以自訂,但必須要為static的類別
2.擴充方法必須為static
3.帶入的第一個參數就是要擴充的型別,並且加上this
來看看Code吧!
建立擴充方法
public static class Class1
{
public static string expansionStr(this string str, string name)
{
return string.Format("您好!我叫做{0},我旁邊這位朋友叫做{1}", str, name);
}
}
使用擴充方法
string name1 = "保羅";
string name2 = "沃克";
Console.WriteLine(name1.expansionStr(name2));
如果看不懂怎麼變化的,就參考這張圖解吧!
歡迎您的加入,讓這個社群更加美好!