首页 > 代码库 > 扩展方法

扩展方法

1. 什么是扩展方法

   首先我们来看看扩展方法到底是什么样子的:

   

  我们定义了一个泛型集合list,我们看到很多方法有的带有一个向下的箭头,有的却没有,这些带箭头的方法就是扩展方法。

  扩展方法可以再保持原有类型的基础上,对其进行扩展。扩展方法可以是同一程序中内方法的扩展,也可以是不同程序集的方法的扩展。有了扩展方法,我们就很容易对系统添加新的功能点,甚至对第三方的程序集进行扩展。

2. 自定义扩展方法

  为了简单起见,假如有一个Person类,只有两个属性,没有任何方法

 public class Person    {        public int Age { get; set; }        public string Name { get; set; }    }

  我们对Person扩展一个方法

 /// <summary>    /// 对Person 类型进行扩展    /// </summary>    public static class PersonExtension    {        public static void  Show(this Person person)        {            Console.WriteLine(string.Format("name={0},age={1}",person.Name,person.Age));         }    }

  客户端代码

 static void Main(string[] args)        {            Person p = new Person();            p.Age = 24;            p.Name = "wjw";            p.Show();            Console.ReadKey();        }

运行结果:

name=wjw,age=24

 

3 本质分析

 

扩展方法