当前位置:  开发笔记 > 编程语言 > 正文

扩展方法的缺点?

如何解决《扩展方法的缺点?》经验,为你挑选了1个好方法。

扩展方法是一个非常有用的功能,您可以在任何类中添加所需的许多功能.但我想知道是否有任何不利因素可能给我带来麻烦.有什么意见或建议吗?



1> Jon Skeet..:

导入扩展方法的方式(即一次整个命名空间)并不精细.您无法从命名空间导入一个扩展而不会获得所有其他扩展.

从定义方法的源代码中不是很明显.这也是一个优点 - 它意味着您可以使代码看起来与类型上的其他方法一致,即使您因任何原因无法将它放在同一个地方.换句话说,代码在高级别上更容易理解,但在准确执行的内容方面更复杂.我认为一般来说LINQ也是如此.

您只能拥有扩展方法,而不是属性,索引器,运算符,构造函数等.

如果您正在扩展第三方类,并且在更高版本中它们引入了具有相同签名的新方法,您将不会轻易知道您的调用代码的含义已经改变.如果新方法您的扩展非常相似,但具有微妙不同的边界条件(或其他),那么这可能会导致一些非常棘手的错误.但这种情况相对不太可能发生.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有