博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#扩展方法
阅读量:5253 次
发布时间:2019-06-14

本文共 551 字,大约阅读时间需要 1 分钟。

l

一、如何定义:

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

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

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

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

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

 

二、何时使用

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

 

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

 

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

 

转载于:https://www.cnblogs.com/blueGao/p/10516293.html

你可能感兴趣的文章
R语言输入与输出
查看>>
国土档案管理信息系统【档案著录】-他项权利类档案著录
查看>>
P3366 【模板】最小生成树
查看>>
一个屌丝程序猿的人生(六十九)
查看>>
(二)代理模式详解(包含原理详解)
查看>>
webgame(php+flex) 的优化方案。
查看>>
Xamarin Studio –Project not built in active configuration
查看>>
Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论
查看>>
Pandas模块
查看>>
为程序申请管理员权限
查看>>
day6——is,==,编码和解码
查看>>
mybatis学习(三)——接口式编程
查看>>
Leetcode 74 Search a 2D matrix
查看>>
JDBC工具类创建及使用
查看>>
特征归一化的方法 线性归一化 零均值归一化
查看>>
「BZOJ 2434」「NOI 2011」阿狸的打字机「AC自动机」
查看>>
Android开发学习笔记:浅谈显示Intent和隐式Intent
查看>>
繁忙的企业家
查看>>
10月30笔试题总结
查看>>
PHP Ajax 跨域问题最佳解决方案
查看>>