Могу ли я передать переменную ByRef событию таймера в vb.net? - PullRequest
0 голосов
/ 12 мая 2018

Я хочу установить значение переменной на определенный промежуток времени. то есть myVar = 1 в течение 20 мс, а затем возвращается к 0. Я реализовал это с использованием таймера, но единственный способ, которым я могу это сделать, - это иметь отдельный таймер для каждой переменной.

Я хотел бы иметь один таймер, который мог бы передавать длительность и переменную по ссылке или что-то подобное.

Могу ли я передать переменную ByRef событию таймера в vb.net? Или что-то похожее по функциональности?

1 Ответ

0 голосов
/ 12 мая 2018

Это похоже на работу.Но мне нужно добавить заявление об отказе от ответственности, что я только что проверил его очень простым способом и не проверил на утечки памяти и т. Д.

Добавьте этот саб к вашему коду ..

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