刚开始接触vb.net,并用它做项目。所以借此来记录一下自己学习的心得。
把这三个东西放在一起,其实是出于对同一个问题的思考——项目中的全局变量应该怎么存储。在做项目的过程中经常会遇到这样的一个问题就是:但一个变量的值(一个类调用其他类修改后的变量值)需要在多个类中调用时应该怎么存储、一个窗体在一直显示状态下其中控件的某些属性值在不同的类中改变并保存应该怎么实现。对于第一个问题我自己的第一想法是用shared静态类成员:
Public Class Class1
Public Shared var1 As Integer
Public Shared var2 As String
End Class
然后再在其他类中调用Class1.var1和Class1.var。但是在一次偶然的机会下我发现了这样调用的弊端:
Public Class Class1
Public Shared var1 As Integer
Public Shared var2 As String
Sub New()
var1 = 1
var2 = 1
End Sub
End Class
如果你在其他类中调用Class1.var1,你绝对会发现它的初始值是0。因为Class1从未被实例化(这个也可能是自己太菜了没发现)。但是如果你用Module你会发现情况不一样了:
Module Module1
Public var1 As Integer
Public var2 As String
Sub New()
var1 = 1
var2 = 1
End Sub
End Module</
VB.net学习:模块、单例与静态类成员

在VB.NET项目开发中,面对全局变量的存储问题,作者探讨了使用模块(Module)、单例模式以及Shared静态类成员的方案。模块能提供全局访问,单例模式确保类的唯一实例,适用于跨类状态维护,尤其是窗体控件属性值的动态更新。文章适合初学者了解这些概念及其应用场景。
最低0.47元/天 解锁文章
427

被折叠的 条评论
为什么被折叠?



