一、簡單認識擴展方法
當我們需要擴展現有類型時,我們通常需要創建一個新類型繼承自父類來完成,但是擴展方法可以讓我們向現有的類型中添加一些方法,達到擴展的目的;
擴展方法時一個特殊類型的靜態方法,但是它們會像擴展類型的實例方法一樣被調用;在unity中,我們通常會根據項目需要爲GameObject以及各種組件做出自己需要的擴展;
二、如何實現和調用一個自定義擴展方法
How to implement and call a custom extension method
關鍵步驟:定義一個public靜態類;然後使用static方法來實現擴展方法,並且擴展方法的第一個參數需要制定該方法所操作的類型,它需要使用this修飾符;
示例如下:
class Program
{
static void Main(string[] args)
{
string s="Hello World!";
Console.WriteLine(s.WorldCount());
}
}
public static class UnityEngineExtends{
public static int WorldCount(this String str){
return str.Split(new char[]{' ','.','?'},StringSplitOptions.RemoveEmptyEntries).Length;
}
}