У меня написан собственный класс, который я создаю из процедуры обработки событий, аналогичной
Private Sub EventHandler
For intForCounter = 1 to intUserEntry
Dim newObj As New MyClass
newObj.Property
newObj.Method()
Next
End Sub
Сам класс выглядит примерно так
Public Property Time As Date
'First attempt:
Dim tmeExec As New Timer
Public Sub Method()
'Second Attempt
Dim tmeExec As New Timer
'A bunch of code for converting a timespan to milliseconds and storing that in intInterval
With tmeExec
.Enabled = True
.Interval = intInterval
End With
AddHandler tmeExec.Tick, AddressOf TickHandler
End Sub
Private Sub TickHandler(ByVal myObj As Object, ByVal myArgs As EventArgs)
Dim tmeSender As Timer = CType(myObj, Timer)
tmeSender.Stop()
'Some code here to do something
End Sub
Когда у меня было время размещенияв расположении «Первая попытка» все сработало с указанным последним интервалом.
Я ожидаю, что каждый раз, когда создается новый объект, создается новый таймер с ним, и поэтому помещение экземпляра вкласс будет правильным путем.Это не тот случай.
Но я хочу знать, почему он ведет себя так, как он.Приятно знать, КАК что-то работает, но если вы знаете, ПОЧЕМУ что-то работает, вы больше не делаете этого глупости.Я спросил своего профессора, но не совсем понял его ответ так, как мне хотелось бы.