2012-11-01

[ASP.NET]擴充方法(Extension Method)簡介

擴充方法(Extension Method)是.NET 3.5提供的新語法,它的功能就是讓開發人員將自訂的功能加入至已定義的資料型別(EX:String、DateTime、DataTable、List),就如同是現有型別的Method一樣,不需重新編譯、或是修改原始型別的程式碼。

它的使用時機是可以將常用到的功能包起來,如此需要用到時就能直接呼叫,就像Function一樣。

C#定義擴充方法的步驟如下:
  1. 定義靜態(static)類別,裡面放擴充方法。
  2. 加入靜態(static)的擴充方法,第一個參數是指定可以呼叫此方法的型別,前面必須加上 this 修飾詞,從第二個參數開始才是真正呼叫方法要傳入的參數。
namespace Utilities.Web
{
    //定義靜態類別
    public static class FunctionExtension
    {
 //定義靜態方法,第一個參數是指定可以呼叫此方法的型別,前面必須加上 this 修飾詞
        public static string ConvertToYYYMM(this string sValue, ...)
        {
            //...

            return sValue;
        }
    }
}

使用方式:
只要在想使用擴充方法的網頁上using擴充方法所在的命名空間,就能直接使用了,如下圖:

附上個人常用的擴充方法,可以直接參考使用,有錯誤再請指教^^

沒有留言:

張貼留言