VB.NET中的类与模块

VB.NET中的类与模块

在VB.NET中使用模块而不是具有共享成员函数的类是否被认为是可接受的做法?

我倾向于避免使用模块,因为他们觉得像Visual Basic 6.0中剩下的遗留物并不再适合。另一方面,使用模块和仅具有共享成员的类似乎没有太大区别。我不是经常需要它,但有时候它们会提供一个简单的解决方案。

我很想知道你是否有任何意见或偏好。


泛舟湖上清波郎朗
浏览 792回答 3
3回答

慕森卡

Modules是C#static类的VB对应物。如果您的类仅为辅助函数和扩展方法而设计,并且您不希望允许继承和实例化,则使用a Module。顺便说一句,使用Module并不是真正主观的,并没有被弃用。事实上,你必须Module在适当的时候使用。.NET Framework本身可以多次执行(System.Linq.Enumerable例如)。要声明扩展方法,需要使用Modules。

偶然的你

我认为,除非将它们粘贴到单独的命名空间中,否则继续避免使用模块是一个好主意。因为在Intellisense中,模块中的方法将从该命名空间中的任何位置可见。因此,不是ModuleName.MyMethod()你最终MyMethod()在任何地方弹出窗口,这种封装无效。(至少在编程层面)。这就是为什么我总是尝试用共享方法创建Class,看起来好多了。
打开App,查看更多内容
随时随地看视频慕课网APP