要注意的一點,擴展方法在this後面緊接著的是要擴展的 類型。擴展方法除了第一個方法外,其他的參數就跟定義一般的方法一樣。
推薦定義的方式以及一個完整的例子
在上面的例子中我們將方法 定義在一個名為MyExtensions類裡面,但是我們需要注意的一點就是所在的命名 空間,如果我們的命名空間不是System那麼我們要讓object類型使用到此方法, 就需要每次導入命名空間。這顯然不是一種好的方式,所以一般定義擴展方法時 建議將所在類的放在目標的類型命名空間下。下面我們看一個完整的例子:
HenllyeeExtensions.cs:
namespace System
{
public static class HenllyeeExtensions
{
public static void Foo(this int i, string Msg)
{
Console.WriteLine("{0} called Foo() say '{1}'", i, Msg);
}
}
}
調用的示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
int i = 0;
i.Foo("Hello,Henllyee!");
Console.Read();
}
}
}
結果: