程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 擴展方法,c#擴展方法

擴展方法,c#擴展方法

編輯:C#入門知識

擴展方法,c#擴展方法


 

擴展方法使你能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。 擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。(引自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 方法,如果找到則執行方法,沒有找到才去找擴展方法並執行

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved