zoukankan      html  css  js  c++  java
  • LinQ—扩展方法

    概述

            本节主要解说扩展方法,涉及LinQ的详细知识不多。


    扩展方法的描写叙述

             .net framework为编程人员提供了非常多的类,非常多的方法,可是,不论.net framework在类中为我们提供了多么多的方法,有时候仍然不能满足我们的需求,比如:你想让字符串对象具有ToPascal方法,含义就是将字符串转化为Pascal格式,并返回,我们知道,.net framework提供的String类中并没有为我们提供对应的方法,此时,我们应该怎么做才干够达到我们的目的呢?有人说能够继承String类,这个不行,由于.net framework提供的类都是finnal类,终于类,不能被继承,那么,怎么样才干够解决问题呢?此时,就出现了扩展方法


    扩展方法的目的和优点

           为现有类提供一些额外的方法,这样做的优点就是,原有类不须要又一次编译生成,仅仅须要在程序中引入一些额外的dll就能够了


    扩展方法的使用

           String类加入一个ToPascal方法,实现将自己格式化为Pascal格式的字符串并返回

        //扩展方法的定义
        public static classExtraClass{//静态类,类名任意       
            public static String ToPascal(this string s) {
                stringstrName = s.Substring(0, 1).ToUpper() +s.Substring(1).ToLower();
                return strName;
            }
        }
        //扩展方法的使用
        String strName="GreenHill";
        strName.ToPascal();//返回的结果为Pascal格式的字符串
        解释
             string:返回值的类型;
             ToPascal:扩展的方法名;
             this string:扩展全部类;
             s:对象名;

             注意:在使用String类的ToPascal方法时,必需要在程序中引入ExtraClass

             上面的这样的方式是没有參数的写法,那么有參数的怎么写呢?有兴趣的能够下去自己查查,相信在读了这一篇博客的基础上,再学习扩展方法的其他详细的定性时,会变得很轻松。


    扩展方法和LinQ的关系

            扩展方法是实现LinQ的基础,由于LinQ的详细实现就是通过扩展方法实现的,也就是说LinQ就是往.net framework的原有的一些类上加入了一些扩展方法,从形式来说,达到了一种通过使用不同对象的同样方法,实现一样的目的。


    总结

           在实际的应用中,为.net framework中的类扩展一些方法是不经常使用的,最起码我如今在实际的项目中没用过,所以,对于上面扩展方法的描写叙述的需求,我们要站在还有一个高度看,也就是说,扩展方法是微软为了引入LinQ而作的工作,扩展方法的真正目的是为了LinQ

  • 相关阅读:
    32 renren-fast-vue安装报错问题
    31 element自定义图片上传
    30 图片预览
    29 element-table样式更改
    28 ant-design-vue-jeecg运行报错问题
    27 mysql8安装
    25 mybatis-plus常用语法
    24 element表单校验
    23 鼠标移入移出更换样式
    22 初识mysql外键
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4509138.html
Copyright © 2011-2022 走看看