C#當中的擴展方法

擴展方法可以向現有類型「添加」方法,而無需建立新的派生類型,從新編譯或以其餘方式修改原始類型。擴展方法必須是靜態方法,能夠像實例方法同樣進行調用。且調用同名中實際定義的方法優先級要高於擴展方法。測試

這裏我定義了一個測試類,IsValidEmailAddress方法做爲string類型的擴展方法。當中第一個參數前面出現一個this,這表示對string中添加擴展方法this

 1  public static class TestOne
 2     {
 3         public static bool IsValidEmailAddress(this string s)
 4         {
 5 
 6             Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
 7 
 8             return regex.IsMatch(s);
 9 
10         }
11      
12     }

在調用時,不須要傳參數,直接在在類型爲string 的字符串點擊就能夠出現方法調用spa

1  string a = string.Empty;
2             bool ty=  a.IsValidEmailAddress();

在咱們實際應用中也很普遍,舉個咱們經常使用的例子:linq標準查詢,或者找到Queryable類code

相關文章
相關標籤/搜索