C# 3.0 之 Extension Method 的使用

來源:互聯網
上載者:User

對於 C# 3.0 中的另一種擴充文法就是 Extension Method ,

這個顧名思義,便是用來擴充的,擴充也就是對現有類型加入自訂的方法,

所以名字就是 Extension Method 了,

事實上呢,這種文法的使用還是蠻簡單的,等下看一個執行個體便一清二楚了,

不過還是要注意幾個地方,那就是在 Extension Method 中 this 的使用,

以及要定義為 Static 的方法,

還是先看一個 Demo 吧,

用來定義擴充的類的代碼吧

using System;

namespace ExtensionString
{
    //這個類聲明為靜態呢,作用就是在此命名空間下
    //不需用建立該類的執行個體,便可以使用這個類
    public static class Demo__2__Use__ExtensionString
    {
        //而這裡定義 Extension Method 為靜態則是
        //表示這個方法可以直接使用類名訪問,
        //而無需在建立執行個體對象來訪問
        //特別要注意的是參數中的  this
        //這個 this 代表將針對當前的 string 類型進行擴充
        public static string HelloName(this string firstName)
        {
            firstName = String.Format("Hello,{0},Welcome", firstName);
            return firstName;
        }
    }
}

既然將擴充完成了,那麼便可以使用這個擴充了,

由於是對 string 類型進行的擴充,所以當然只能對 string 類型進行使用了

using System;
using ExtensionString;

namespace CSharpLanguage
{
    public partial class Demo__2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string name = "XiaoZhen";
            //使用擴充中的 HelloName 方法
            //由於這個擴充被定義為了靜態,所以也就可以直接使用
            string extensionName = name.HelloName();
            Response.Write(extensionName);
        }
    }
}

然後,結果就可想而知了

以上就是對於3.0 中新文法 Extension Method 的一個使用了

                           2010—1—01

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.