C#的擴充套件方法(this)
阿新 • • 發佈:2018-12-25
先在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#擴充套件方法