zoukankan      html  css  js  c++  java
  • Extension method for type

    扩展其实真的很简单

    msdn是这样规定扩展方法的:“扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。

    扩展方法的关键不在于定义所在的class的名字,关键在于扩展方法的第一个参数,以及所有class和扩展方法是否为static。

    image

    扩展方法的第一个参数指定这个扩展方法作用在的class。

    比如我的例子中为string添加一个扩展方法 (ToIntExt), 所以第一个方法必须是string类型,并且要加上this修饰符为前缀。

    完成了这些工作,你在StringExtension的作用域里任何string类型的实例都可以访问这个扩展方法(如上图)。

     

    扩展方法还可以添加参数,想要实现只需在第一个参数(this前缀)后面继续添加你需要的参数。如下,我想给我的ToIntExt扩展方法加一个format:

    image

  • 相关阅读:
    AsyncHttpClient使用
    索引
    jdbc--取大量数据
    oracle--with as
    spring--mybatis事务总结
    Elasticsearch环境搭建
    使用idea远程调试
    redis分布式锁的实现
    知识梳理
    Zookeeper
  • 原文地址:https://www.cnblogs.com/larson/p/4459738.html
Copyright © 2011-2022 走看看