C# 扩展方法
2015-11-23 21:50
309 查看
在以往的编程模式里,一旦一个类型定义完毕并编译完成,它就基本上呗确定了,唯一的修改方法就是打开代码,更新之后重新编译。在C#中,扩展方法却运行开发者扩充任何类,甚至是标记为封装的类。
使用扩展方法时要注意如下事项:
第一个限制,必须定义在静态类中,并且每个扩展方法也必须声明为静态的;
第二个限制,所有扩展方法的第一个参数都是用this关键字;
无论是直接访问内存中的实例,还是静态地通过静态类定义,都可以调用任意一个扩展方法。
一个扩展方法可以拥有多个参数,但是只有第一个需要加this,这在后面被重载的方法里可以看到。
扩展方法的优先级别低于接口方法。因此,如果接口方法和扩展方法有同样的签名,应先执行接口方法。
使用扩展方法时要注意如下事项:
第一个限制,必须定义在静态类中,并且每个扩展方法也必须声明为静态的;
第二个限制,所有扩展方法的第一个参数都是用this关键字;
无论是直接访问内存中的实例,还是静态地通过静态类定义,都可以调用任意一个扩展方法。
一个扩展方法可以拥有多个参数,但是只有第一个需要加this,这在后面被重载的方法里可以看到。
扩展方法的优先级别低于接口方法。因此,如果接口方法和扩展方法有同样的签名,应先执行接口方法。
相关文章推荐
- C# 预处理器指令
- C#图表控件ZedGraph使用
- C# 多线程,论多核时代爱恨情仇
- c#多线程__Semaphore
- 【C#】——文件夹中获取指定特点的文件名
- C#写入文件的几种方式
- VS2015 新Web项目(C#6)出现CS1617错误的解决
- C# 移动无标题栏窗体的几种方法
- C#之猴子吃桃儿问题的解法——猴子吐桃儿
- C#文件的拆分与合并操作示例
- C#使用进度条,并用线程模拟真实数据 ProgressBar用法(转)
- c#中从string数组转换到int数组
- c#问答篇:对象与引用变量-----初学者的困惑
- C#读取本机IP
- C# 截取所需网页上的部分内容
- C#程序以Icon的形式显示在任务栏右下角
- C# 几分钟执行一次代码
- C# 委托
- 【c#】——数据类型
- C#学习笔记 ADO.NET