zoukankan      html  css  js  c++  java
  • C#的扩展方法简介

    顾名思义,这是一种可以扩展C#类的操作,MSDN上的说法是:

    “扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。”

    通常就是用来扩展那些我们修改不了代码的类,比如
    String,Int,DataRow,DataTable这些。

    比如string类型有一个方法,叫做 Contains ,可以测试字符串中有没有包含指定的字符串或者是字符。

    现在我需要判断字符串中有没有我制定的多个字符串怎么办,我写了一个 NoContains 的方法,如果字符串中不包含参数里的字符串数组,就返回真,然后以扩展方法的形式加载到string类型中。

    代码如下:

    这样就可以直接使用字符串的 NoContains方法了。

    使用的例子如下:

    array是一个string数组,只要在项目中定义这样一个静态类,就可以扩展string这个类的方法。

    关于扩展方法的定义,MSDN上的说法是:

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

    具体就是,扩展方法必须放在一个静态类里面,扩展方法本身也必须是静态方法,然后扩展方法的第一个参数必须是你想要扩展的那个类型,并且在前面加上this修饰符。

    ps:想要以简洁的文字表达出来真是不容易啊,多读点书提高一下表达能力吧。

    博客原文地址:http://blog.deali.cn/?p=832

    我的微信公众号:DealiAxy

  • 相关阅读:
    MongoDB入门示例及介绍
    Oracle/PLSQL CURSOR FOR Loop
    JAVA写的文件分割与文件合并程序
    synchronized 解决死锁的问题 轉貼
    采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
    chapter6作业
    chapter5作业
    chapter4作业
    Linuz系统管理 -----账号管理
    chapter02
  • 原文地址:https://www.cnblogs.com/deali/p/7643596.html
Copyright © 2011-2022 走看看