C#扩展方法

由于业务的需求,可能系统提供的方法并不能帮助我们完成相应的功能,

此时就可以扩展系统类的方法。

扩展方法本质是静态方法,只是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;

        }


    }
}

 调用

可以看到这个方法已经被标记为扩展方法。参数也如上文所述的一致。

原文地址:https://www.cnblogs.com/xiaoai123/p/6934735.html