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

时间:2018-05-11 22:40:18

标签: vb.net timer pass-by-reference

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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()