vb.net - VB 中的类与模块

标签 vb.net class module

在 VB 中使用模块而不是类有什么优势(如果有的话)?它们有何不同,使用模块有哪些优点/缺点?在 VB 或 VB.NET 中,我都使用两者。

最佳答案

(A) 模块

(B) 仅具有共享函数的类

解决相同的问题:两者都允许您对一组函数进行逻辑分组。

使用模块的优点:

  • 它允许您定义 extension methods .
  • 对于阅读您的代码的人来说,很明显这不是一个代表一组有状态对象的类,而只是一个“函数容器”。

使用具有共享函数的类的优点:

  • 稍后可以使用实例(=非共享)变量、函数和属性轻松扩展它。

因此,如果您正在编写一组辅助函数并希望对它们进行逻辑分组(其中该组的状态概念没有意义),请使用模块 -这正是他们来这里的目的。另一方面,如果您有一个在概念上适合现有类的函数,请将其作为共享函数添加到该类中。

关于vb.net - VB 中的类与模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646335/

相关文章:

.net - 如何将输出参数从 vb.net 传递到 mysql 存储过程?

c++ - 编译器如何实现C++继承?

python - 强制将 python 模块安装在某个目录中

c++ - 在 header 中排队调用

Swift 泛型,创建派生对象

mysql - Drupal自定义表单获取并记录当前用户

c# - asp.net 文本框失去焦点的方法?

c# - WinSpool OpenPrinter 访问被拒绝

.net - 是否可以从URL读取到System.IO.Stream对象?

c++ - 单例模式的类成员初始化失败