使用 C#的語言特性,在現有類型加入方法。
善用擴充方法,可以慢慢建立一套自己的小工具,使自己未來開發越來越方便。
Extension Method 是在 C# 3.0時出現的語言特性,可以把一個static method 附加到型別上
public static int (this String str)
this 後面就是型別要附加的型別
Extension Method 使用注意事項:
- 必須放在一個 static 類別中
- 必須是 static method
- 要使用時必須using該 static 類別的 namespace (同一個 namespace 時就不需要)
下面範例使用 建立一個專案 ExtensionMethodsDemo 作為範例,並建立一個Extensions資料夾,並建立一個MyExtensions.cs的檔案
namespace ExtensionMethodsDemo.Extensions
{
public static class MyExtensions
{
public static int ToInt(this String str)
{
return Int32.Parse(str);
}
}
}
接著便可以在想要使用這個擴充方法的地方using 命名空間,就可以使用擴充方法了
using ExtensionMethodsDemo.Extensions;
namespace ExtensionMethodsDemo
{
class Program
{
static void Main(string[] args)
{
string str = "a123";
int n = str.ToInt();
Console.WriteLine($"Hello {n}! Type is {n.GetType()}");
}
}
}
就會印出 Hello 123! Type is System.Int32
相關連結