由于业务的需求,可能系统提供的方法并不能帮助我们完成相应的功能,
此时就可以扩展系统类的方法。
扩展方法本质是静态方法,只是C#提供了便利,扩展内部不能调用被扩展类的私有、protected的成员。
在下述的代码中也可以看见,静态类myExtend就是为扩展string类方法使用的。
写扩展方法有三个步骤:
1.声明一个类为静态类static,这里也增添类的访问修饰符public公用的,这样才能被调用。
2.声明一个静态方法
3.参数的写法,格式为 this 扩展类名 参数 形参1 形参2...
其中this 扩展类名 参数为固定,后面的形参可有可无,后面的才是真正调用这个扩展方法时需要传入的参数。
代码解析:
//1.标注为静态类 public static class myExtendClass { //2.静态方法 //3.需要用this来修饰 后跟的类型为扩展的类型 再后跟的是真正的参数 public static int GetCount(this string msg,int s) { return msg.Length+s; } } }
调用
可以看到这个方法已经被标记为扩展方法。参数也如上文所述的一致。