【发布时间】:2015-09-08 00:42:30
【问题描述】:
我是 VB.Net 的新手,我对扩展方法的用例很好奇。具体来说,当我可以使用继承和接口时,为什么要使用扩展方法?乍一看,扩展方法在我看来并不是一种非常 OO 的做法,与使用子类和/或接口来实现相同目的相比,它们似乎会导致代码可读性降低。我缺少的扩展方法有什么特别之处吗?你什么时候使用它们?
【问题讨论】:
-
您是在阅读了关于扩展方法的MSDN article 以进一步澄清后提出这个问题吗?
-
如果您想伪扩展像
String这样的.NET 类,扩展方法很方便。您不能从String继承来扩展它。它比Shared方法的全局类更好,因为它们出现在智能感知中。 -
@Cory:这是 VB.NET 版本:msdn.microsoft.com/en-us/library/bb384936.aspx
-
这对大家很有帮助,谢谢。在链接的文章和发布的答案之间,我收集到扩展方法通常用作函数库,以便在向后兼容性或其他因素导致难以实现更多 OO 解决方案时,将新功能“修补”到您自己的代码中,或者当子类化不是一个好选择时,微 API 可以更方便地使用其他人的代码。
标签: vb.net oop inheritance interface extension-methods