我有一个 VB.NET 应用程序,其中各种对象将访问一些公共代码,并且我有一些在所有调用之间共享的计数器和值,所以我目前正在使用“共享类”(我知道类可以'本质上不能共享,但所有变量和方法都标记为“共享”)。
我关心的是这个对象的可见性——如果用户在同一个桌面上运行应用程序的两个实例,他们会使用共享类的相同“实例”吗?换句话说,应用程序的两个副本是否都会增加相同的计数器并使用相同的变量?
另外,同一台机器上的两个用户空间怎么样——如果每个用户都运行一个副本,那两个副本会干扰吗?
也许我在混淆“共享”概念,并且有更好的方法来做到这一点(我知道有些人通过模块而不是类来共享代码)。有没有更好的方法让对象(变量和方法)在整个应用程序中共享,但与其他应用程序实例分开?
更新:为了回答关于我的“首选”方式的问题,我正在编写的应用程序需要保持数据私有,即使在用户运行的不同实例之间也是如此。在这种情况下,我根本不想在多个实例之间共享任何数据,这就是为什么我担心使用共享类或模块的副作用。谢谢你的问题。