这里涉及一个知识点,就是C#的扩展方法。
比较显著的标识就是方法参数类型定义时使用this
。
包含扩展方法的类及方法本身必须是静态的,否则就会报上述错误
如
// 报错CS1106 public class ExtensionHelper { public void SelectAll(this string str) { //to do sth…… } } // 报错CS1106 public class ExtensionHelper { public static void SelectAll(this string str) { //to do sth…… } } // 报错CS1105 public static class ExtensionHelper { public void SelectAll(this string str) { //to do sth…… } } // 正确形式 public static class ExtensionHelper { public static void SelectAll(this string str) { //to do sth…… } }
关于扩展方法粗略了解自扩展方法必须在非泛型静态类中定义