C#擴展方法

一、簡單認識擴展方法

Extension Methods

當我們需要擴展現有類型時,我們通常需要創建一個新類型繼承自父類來完成,但是擴展方法可以讓我們向現有的類型中添加一些方法,達到擴展的目的;

擴展方法時一個特殊類型的靜態方法,但是它們會像擴展類型的實例方法一樣被調用;在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;
        }
    }

 

發佈了152 篇原創文章 · 獲贊 47 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章