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

    https://www.cnblogs.com/wpinfo/p/extention_method.html

    一、如何定义:

    1、创建一个静态类(类名一般为所要扩展的类名+Extensions)

    2、在其中创建一个静态方法

    3、为这个静态方法添加至少一个参数,并在第一个参数前加上this关键字,这个关键字会告诉编辑器当前方法是一个扩展方法。而这个方法将成为第一个参数所属类型的新成员。

    以下为一个典型的扩展方法:

     注意:只有在引用扩展方法所在的静态类的命名空间后,才能使用它;否则,直接调用会编译失败。上例中,使用该扩展方法要引用TLA.Infrastructure.Extensions命名空间。

    二、何时使用

    从扩展方法的概念上,不难看出,它可以用在以下几种场合:
    1、要为某个类型扩展功能,但没有其源码,比如某个框架或第三方库中的一个类;例如,想要获取一个列表中所有的奇数项,就可以为IList<T>接口增加一个扩展方法,这里的IList<T>接口本身是.NET框架中的接口。

     2、即使可以访问原有类型的源码,也可以使用扩展方法为它添加辅助功能;

     3、重用代码,使代码更简洁;由于扩展方法封装了一段完整的逻辑,所以,使用扩展方法就避免了复制粘贴代码的情况。上例中扩展方法的内容也符合这种使用场景。

     

  • 相关阅读:
    java多线程之系列目录
    RecyclerView的源码分析
    ConCurrentHashMap在1.7和1.8区别
    插件化之细节
    组件化之开发细节
    组件化之开发总结
    线程之volatile基本内容
    线程之Synchronized基本内容
    设计模式之动态代理模式原理介绍
    操作系统之内存映射
  • 原文地址:https://www.cnblogs.com/blueGao/p/10516293.html
Copyright © 2011-2022 走看看