VB中的类与模块

Arl*_*ler 2 vb.net module class

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

Hei*_*nzi 7

(A)模块

(B)Shared具有功能的类

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

使用模块的优点:

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

使用具有共享功能的类的优点:

  • 稍后可以使用实例(=非共享)变量,函数和属性来扩展它.

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