我可以将变量 ByRef 传递给 vb.net 中的计时器事件吗?

Can I Pass a variable ByRef to a timer event in vb.net?

我想设置一个变量的值一段时间。即 myVar = 1 持续 20 毫秒,然后返回 0。我使用计时器实现了这个,但我能做到的唯一方法是为每个变量设置一个单独的计时器。

我想要一个计时器,我可以通过引用或类似的方式传递持续时间和变量。

我可以将变量 ByRef 传递给 vb.net 中的计时器事件吗?或者具有类似功能的东西?

这似乎有效。但我需要添加一个免责声明,我只是以一种非常简单的方式对其进行了测试,并没有检查内存泄漏等

将此子添加到您的代码中..

Public Sub SetVar(ByRef variable As Integer, value As Integer, msDuration As Integer)
    variable = value
    Thread.Sleep(msDuration)
    variable = 0
End Sub

每次您想为某个时间段的变量设置一个值时,将其插入到您想要更改值的位置..

Dim t As New Task(Sub()
                      SetVar(a, 100, 2000)
                  End Sub)
t.Start()