对于已经写好的类,我想使用一些系统为定义的功能怎么办?那就只能用扩展方法了。
写一个静态类,在类中定义一个静态方法,将方法的第一个参数定义为this 类型 变量的形式,则表示该方法是为指定类型进行扩展的类型变量。
1.创建一个People类
public class People { public string name; public int age; }
2.在不影响源代码的同时,去为People类型添加新成员,实现了嵌入式的编程,是可扩展性的一种表现。
//必须是静态类
public static class Student {
//必须是静态方法,this指定类型进行扩展,string和int是传递的参数 public static void FunctionA(this People pp, string name, int age) { } }
3.调用时,FunctionA则为People类的扩展方法。
People people = new ConsoleApplication1.People(); people.FunctionA("名字", 20);
原文:https://www.cnblogs.com/wlhyh/p/10951499.html