C# 扩展方法

这个东西很神奇, 没有想明白他是怎么实现的。

1     public static class StrEx

2     {

3         public static void fun(this string s)

4         {

5             Console.WriteLine("fool invoke {0}", s);

6         }

7     }

一个类,随便定义,对边定义一个静态函数。

 void fun(this string s) 这里一定要加this

然后:

1         static void Main(string[] args)

2         {

3             string s = "123123";

4             s.fun();

5             

6         }

string这个类包含了fun的方法。

这个代码等同于

1         static void Main(string[] args)

2         {

3             string s = "123123";

4             StrEx.fun(s);

5             

6         }

 

你可能感兴趣的:(C#)