扩展方法必须在非泛型静态类中定义_黄枫谷_新浪博客

扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。

扩展方法的要求如下:

1

第一个参数是要扩展或者要操作的类型,这称为”被扩展的类型”

2

为了指定扩展方法,要在被扩展的类型名称前面附加this修饰符

3

要将方法作为一个扩展方法来访问,要用using指令导入扩展类型的命名空间,或者使扩展类型和调用代码在同一个命名空间中.

 

 

//扩展方法必须在非泛型静态类中定义  

 

  public static class qzwtest  

 

   

 

      //扩展方法  

 

      public static string[] qzw(this string str)  

 

       

 

          return str.Split(new char[] ‘ ‘, ‘,’ });  

 

       

 

   

 

  •   

 

 

  class Program  

 

   

 

      static int Main()  

 

       

 

  •   

 

 

          string testStr “钱卓文 is 喵喵,贤静”;  

 

          //调用扩展方法  

 

          string[] testArray testStr.qzw();  

 

          foreach (string in testArray)  

 

           

 

              Console.WriteLine(s);  

 

           

 

  •   

 

 

          Console.ReadKey();  

 

          return 0;  

 

       

 

  

来源URL:http://blog.sina.com.cn/s/blog_a5193ed401016mvb.html