声明: 通过一个 JS 的实例来告诉你 C# 也可以实现这样的效果.
在 JS 中是这样实现的:
你是否见过 JS 中给系统默认 Array 对象增加一个自定义查重方法 contains
在没有给 Array 原型上增加 contains 之前, 通过 vs 编辑器是无法通过点的方式来调用 contains
当给 Array 原型上增加 contains 之后, 便可以通过点的方式进行调用
在 C# 中是这样实现的:
先说需求: 我们要在 String 对象上增加一个 ToString2() 的函数
在没有给 String 对象增加 ToString2() 之前是无法通过点来调用 ToString2() 函数, 下图是无法找到 oString2() 函数
当增加了扩展函数后便可以通过点的方式来调用扩展函数
语法: 定义扩展方法, 它必须是一个静态类 static, 并且要使用 this 关键字来修饰要对那个对象进行操作. 以上重点和最终效果军用红线标注.
你学会了吗? 是不是逼格满满?
来源: https://www.cnblogs.com/shifubug/p/10604805.html