博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
命名空间在扩展方法中的妙用
阅读量:6771 次
发布时间:2019-06-26

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

.NET的不同版本中,有很多方法是新加的,而且是以扩展方法的形式来呈现,但我们会发现引用的命名空间并没有增加,请看下图。

这样,在我们使用扩展方法的时候,不并不觉得是扩展方法,而是相当于实例中的原生方法。依据这一思路,我们在写扩展方法的时候,也可以将扩展方法的命名空间与要扩展实例的命名空间保持一致,这样在引用到该实例的地方,自然就会有相应的扩展方法,而不需要额外的再引入命名空间。如果扩展方法放在不同的命名空间下,那么在没有引用该命名空间时,扩展方法是会无法使用,这样在编程的过程中会带来诸多的不便,所以如果可能的话,建议扩展方法的命名空间与原实例的命名空间保持一致。下面举个例子。

假如我们需要判断一些浮点数是否是整数,一般的判断方法是通过计算然后确定。但因为这个方法用的比较频繁,所以我们希望能直接在浮点数本身调用,为此我们给float类型增加了一个扩展方法,并与float保持在同一个命名空间下。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace System{    public static class Digit    {        ///         /// 是否为整数        ///         ///         /// 
public static bool IsInt(this float source) { return (source - Math.Floor(source)) == 0; } }}
调用如下

会发现,调用起来相当方便,就像是float中原生的一样,而且还不需要额外引用命名空间。

转载请注明出处。

转载于:https://www.cnblogs.com/sparkleDai/p/7604937.html

你可能感兴趣的文章
java字符串的反转
查看>>
ceph存储 多网卡的7种bond模式原理
查看>>
jquery 鼠标经过效果实例
查看>>
Greenplum和Deepgreen性能简单对比
查看>>
Android 获取手机IMEI方法
查看>>
java 编码问题记录
查看>>
关于grep的使用以及正则表达式
查看>>
VLAN帧格式
查看>>
PHP类和方法内的静态变量作用
查看>>
Java js 取出map的多种方式
查看>>
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
查看>>
java list 转map
查看>>
shell判断
查看>>
如何对Windows系统进行哈希传递***(Pass-Hash-Attack)
查看>>
openssh 加固
查看>>
Linux如何根据进程名称的一部分kill掉进程
查看>>
rsync命令用法
查看>>
myeclipse的clean与rebuild
查看>>
weblogic 启动错误
查看>>
我的友情链接
查看>>