一.概念
- 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
- 要素
(1)此方法必须是一个静态方法
(2)此方法必须放在静态类中
(3)此方法的第一个参数必须以this开头,并且指定此方法是扩展自哪个类型 - 扩展方法的特点:
(1)扩展方法扩展自哪个类型,就必须是此类型的变量来使用,其他类型无法使用;
(2)扩展方法中的this后面的参数不属于方法的参数,this后面的是指明扩展方法扩展自何种类型;
(3)如果扩展方法和实例方法具有相同的签名,则优先调用实例方法;
(4)扩展自父类上的方法,可以被子类的对象直接使用;
(5)扩展自接口上的方法,可以被实现类的对象直接使用;
(6)扩展方法最终还是被编译器编译成:静态类.静态方法();
二. 如何定义
1、创建一个静态类;
2、在其中创建一个静态方法;
3、为这个静态方法添加至少一个参数,并在第一个参数前加上this关键字,这个关键字会告诉编译器当前方法是一个扩展方法。而这个方法将成为第一个参数所属类型的新成员。
例:创建一个Student类,它包含了两个方法StuInfo,getStuI