Visual Basic模块v单例

时间:2009-08-06 21:37:32

标签: vb.net singleton module

所以我在过去6年左右的时间里一直在使用C#进行编程,现在我已经厌倦了VB.net。

我正在使用的代码库使用了一些模块。对我来说,模块看起来很像单身人士。只有一个存在;它可以在命名空间内的任何地方调用。

这里有什么我想念的吗? VB不支持单例结构的正常方式(私有构造函数/公共实例字段)吗?

2 个答案:

答案 0 :(得分:6)

模块不是单身人士。它更类似于C#中的静态类。如果您对代码进行反编译,您将看到它们具有非常相似的结构(模块具有额外的属性)。

C#静态类和VB.Net模块之间的主要区别是......

  • 不必向模块中的方法添加静态/共享限定符。它们默认是共享的,您无法更改此
  • 如果某个模块位于导入的命名空间中,则所有方法都可以无限制地使用。
  • C#中的静态类可以是通用的,模块不能(虽然它们可以有通用成员)

答案 1 :(得分:3)

如果我没弄错的话,VB模块与静态类是一样的。