扩展方法
扩展方法是一种特殊类型的静态方法。对于一个C#类型,如类(包括密封类)、值类型、接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员。因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过扩展方法就可以轻而易举地实现,这也是“扩展”的意义所在。最常见的是在Linq中使用。
使用方法:
常见一个Person类,里面有Id,Name属性,Say方法
public class Person { public int Id { get; set; } public string Name { get; set; } public void Say() { Console.WriteLine("你好呀!"); } }
可以通过new一个Person类的实例对象,可以通过new出来的实例对象调用Say方法,但是现在需要扩展一个方法,在不改变原来的类,就需要扩展方法。
对Person类进行扩展一个方法SayHi.
1.创建一个静态类,写一个静态方法,静态方法的第一个参数必须是this Person p,就可以通过new出来的方法调用SayHi方法了。
public static class PersonExt { public static void SayHi(this Person p) { Console.WriteLine("SayHi!"); } }