msdn上的解释:https://msdn.microsoft.com/zh-cn/library/vstudio/bb383977%28v=vs.110%29.aspx
很显然扩展方法必须放在静态类中。方法必须是静态方法。因为静态类中是不能包含实例成员的。
现在开始来定义一个静态类。并对string扩展一个方法
1 /// <summary> 2 /// 定义静态类。 3 /// </summary> 4 static class yi 5 { 6 /// <summary> 7 /// 实现对string的扩展方法 8 /// </summary> 9 /// <param name="a">调用该方法的对象</param> 10 /// <param name="b">形参</param> 11 public static void F2(this string a, string b) 12 { 13 /*实现逻辑 14 这里 a = Hellow Extension 15 b = H 16 */ 17 } 18 }
测试调用即可
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 string str = "Hellow Extension"; 6 str.F2("H"); // 调用扩展方法 7 } 8 }
当然。你也可以单独写一个类库。然后在需要用到扩展方法的类里面引用该类库即可