代码改变世界

扩展方法

2015-06-05 20:37  糯米粥  阅读(228)  评论(0编辑  收藏  举报

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     }

 

当然。你也可以单独写一个类库。然后在需要用到扩展方法的类里面引用该类库即可