1. 程式人生 > >C#的擴充套件方法(this)

C#的擴充套件方法(this)

先在StringLibrary類中定義一個靜態方法,如下:

public static class StringLibrary
    {
      //第一個引數指定該方法作用於哪個型別,並且該引數以 this 修飾符為字首,當前作用於String型別,也可作用於自定義型別
public static bool StartWithUpper(this String str) { if (String.IsNullOrEmpty(str)) return false;
char ch = str[0]; return Char.IsUpper(ch); } }

接著呼叫:

[TestMethod]
        public void TestDoesNotStartWithUpper()
        {
            string[] words = { "alphabet", "Error", "zebra", "Abc", "αυτοκινητοβιομηχανία", "государство",
                   "1234", ".", "
;", " " }; foreach (var word in words) { bool result = word.StartWithUpper(); Assert.IsFalse(result, $"Expected for '{word}': false; Actual:{result}"); } }

 具體可參考:C#擴充套件方法