国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

擴展方法

2019-11-17 02:34:11
字體:
來源:轉載
供稿:網友

擴展方法

擴展方法使你能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。(引自csdn)

或許用一個例子說明更加明白

擴展方法:

    public static class Helper    {        public static bool IsNullOrEmpty(this string str)        {            return string.IsNullOrEmpty(str);        }    }
View Code

使用:

    static void Main(string[] args)        {            Console.Write("qwe".IsNullOrEmpty());            Console.ReadKey();        }
View Code

擴展方法必須是靜態類、靜態方法,為什么要是靜態的,看源碼便可知道

擴展方法其實就是靜態的方法調用

---------------------------------------------------------------------------------------------------------------------------

當一個實例對象存在一個與擴展方法同名的方法時,會執行那個方法呢?

    public static class Helper    {        public static void Miao()        {            Console.WriteLine("我是擴展方法的小貓");        }    }    public class Cat    {        public void Miao()        {            Console.WriteLine("我是實例發的小貓");        }    }
View Code
  static void Main(string[] args)        {            Cat c = new Cat();            c.Miao();            Console.ReadKey();        }
View Code

由此可見編譯器編譯時會優先到Cat類中找Miao方法,如果找到則執行方法,沒有找到才去找擴展方法并執行


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖州市| 桂平市| 汉沽区| 囊谦县| 栾川县| 许昌县| 灌南县| 当阳市| 紫云| 呼伦贝尔市| 眉山市| 抚顺县| 卓资县| 无锡市| 济阳县| 于都县| 江西省| 合肥市| 定襄县| 连平县| 宁化县| 临猗县| 筠连县| 孙吴县| 梁河县| 喀喇沁旗| 栾川县| 翁源县| 太保市| 广南县| 垦利县| 临夏市| 清涧县| 皋兰县| 乌拉特后旗| 绵竹市| 锡林浩特市| 南丹县| 仁怀市| 房产| 庄浪县|