自学C#—扩展方法

  C#的扩展方法,一般不是很常用,至少我不是很常用,因为它基本上都可以被其它静态方法替代,这是因为扩展方法就是一种特殊的静态方法。

  我们来看看怎么声明,首先我们要声明一个静态类,在静态类中在声明一个静态方法,这个静态方法的第一个参数必需是用 this 指向所要扩展的类型:

 1 public static class StringExtend
 2     {
 3         public static List<string> AddFirst(this List<string> strList,string strItem)
 4         {
 5             List<string> listItem = new List<string>(){ strItem };
 6             listItem.AddRange(strList);
 7             return listItem;
 8         }
 9 
10     }

  这里的 ”this List<string> strList“ 是一个整体,它表示这个静态方法指向 List<string> 类型,由参数 strList 承接调用者的值。

  调用的时候直接用扩展方法指向的类型的变量点一个扩展方法名,就像这样:

1     class Program
2     {
3         static void Main(string[] args)
4         {
5             List<string> strList = new List<string>();
6             strList = strList.AddFirst("asd");
7         }
8     }

  扩展方法就这么简单。

posted @ 2019-09-27 15:11  dymdph  阅读(137)  评论(0)    收藏  举报