监控变量值,当变量值改变时,引发值改变件事。

文章详细介绍了如何在VB.NET中使用事件处理机制管理变量更改,包括事件的定义、处理程序、全局变量的使用以及字典结构的应用,展示了如何跟踪和显示变量名及值的变化。
摘要由CSDN通过智能技术生成
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        AddHandler 变量改变事件, AddressOf 变量改变处理程序 '将名为[变量改变事件]的事件与[变量改变处理程序]方法相关联。
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '如果没有赐值的变量,读取为空
        '不用声明,直接赐值即为声明
        '全局变量

        ' 修改部分变量的值以测试
        设置变量值("A", 100)
        设置变量值("B", 200)
        设置变量值("C", 300)

        Dim 当前A的值 As Object = 获取变量值("q")

        Console.WriteLine($"变量 '{当前A的值}'")

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        显示所有被监控变量名和值()
    End Sub










    Public Sub 变量改变处理程序(ByVal 变量名 As String, ByVal 新值 As Object)
        Console.WriteLine($"变量 '{变量名}' 的值已改变为:{新值}")
    End Sub









    Public Delegate Sub 变量改变委托(ByVal 变量名 As String, ByVal 新值 As Object)
    Public Event 变量改变事件 As 变量改变委托
    Private 变量字典 As New Dictionary(Of String, Object)

    Public Sub 设置变量值(ByVal 变量名 As String, ByValAs Object)
        Dim 当前值 As Object = Nothing
        If 变量字典.TryGetValue(变量名, 当前值) Then
            If Not 当前值.Equals() Then
                变量字典(变量名) =RaiseEvent 变量改变事件(变量名,)
            End If
        Else
            变量字典.Add(变量名,)
            RaiseEvent 变量改变事件(变量名,)
        End If
    End Sub

    Public Function 获取变量值(ByVal 变量名 As String) As Object
        If 变量字典.ContainsKey(变量名) Then
            Return 变量字典(变量名)
        Else
            Return Nothing
        End If
    End Function

    Public Sub 显示所有被监控变量名和值() ' 遍历字典并输出所有变量名和对应的值
        For Each kvp As KeyValuePair(Of String, Object) In 变量字典
            Console.WriteLine($"变量名: {kvp.Key}, 值: {kvp.Value}")
        Next
    End Sub
End Class

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤脚_码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值