Extension methods
擴充方法是一種特殊的靜態方法,它可以幫助我們將物件掛上一些自定義的能力上去,
抽像一點來說,當我拿到DateTime物件時,因為我的系統愛台汍,所以我每次都要把它轉成民國年,
像這樣:
1: Convert.ToString(Convert.ToInt32(date.Year) - 1911) + "/" + date.ToString("MM/dd");
但如果我每次遇到DateTime就要寫這樣的Coding的話,不僅程式不好看也不太好維護,
像這種原本沒有的能力,而且物件又是人家包裝好的,沒辦法自己去增加Method的情況下,
使用擴充方法或許是個不錯的選擇如下:
1: public static string ToTaiwanDate(this DateTime datetime)
2: {
3: return Convert.ToString(Convert.ToInt32(datetime.Year) - 1911) + "/" + datetime.ToString("MM/dd");
4: }
使用上就如下圖:
這只是一個簡單的應用,擴充方法的用途很廣,也很方便。