zoukankan      html  css  js  c++  java
  • 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;
    
            }
    
    
        }
    }
    

     调用

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

  • 相关阅读:
    [hdu3853]LOOPS(概率dp)
    [poj2096]Collecting Bugs(概率dp)
    lintcode-42-最大子数组 II
    lintcode-39-恢复旋转排序数组
    lintcode-36-翻转链表 II
    lintcode-34-N皇后问题 II
    lintcode-33-N皇后问题
    lintcode-32-最小子串覆盖
    lintcode-31-数组划分
    lintcode-30-插入区间
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/6934735.html
Copyright © 2011-2022 走看看