VB.net学习之模块、单例模式和Shared静态类成员

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

        刚开始接触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()
   
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值