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

posted @ 2015-05-17 09:29  mengfanrong  阅读(465)  评论(0编辑  收藏  举报