[C#]Extension methods

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:  }

使用上就如下圖:

1


這只是一個簡單的應用,擴充方法的用途很廣,也很方便。