vb.net - Visual Basic 模块 v 单例

标签 vb.net singleton module

因此,在过去的 6 年左右时间里,我一直在使用 C# 进行编程,现在我开始接触 VB.net。

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

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

最佳答案

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

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

  • 不必向模块中的方法添加静态/共享限定符。默认情况下它们是共享的,您无法更改
  • 如果模块位于 Imported 命名空间中,则其所有方法均可用,无需限定。
  • C# 中的静态类可以是泛型的,模块不能(尽管它们可以有泛型成员)
  • 关于vb.net - Visual Basic 模块 v 单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241648/

    相关文章:

    database - 如何检查Access数据库中是否存在记录

    vb.net - 使用 excel 数据源以 vb.net 形式绘制图表

    python - Python 和 .NET 之间二进制文件的兼容性

    oop - 在面向对象的设置中使用OpenGL绘图操作?

    python MySQL 模块类文件名

    vb.net - 生成一个随机 bool 值

    swift - 如何在 Swift 中销毁单例

    android - 通过服务和 Activity 共享单例java类

    node.js - require().server.要求语句中带点

    PHP session 变量不会被取消设置