这个东西很神奇, 没有想明白他是怎么实现的。
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 }