Я работаю с проектами VB.NET для Windows Forms в .NET 1.1. И у меня есть этот тип архитектуры, очень упрощенный.
Public MustInherit Class BaseTestLogic
Private _TimerPoll As Timer
Public Sub New(ByVal sym As SymbolFileMng, ByVal cfg As LampTestConfig, ByVal daas As DaasManager, ByVal mcf As Elux.Wg.Lpd.MCFs.VMCF)
AddHandler _TimerPoll.Tick, AddressOf TimerPoll_Tick
End Sub
End Class
Public Class SpecificTestLogic
Inherits BaseTestLogic
End Class
В зависимости от типа теста, который я делаю, я создаю экземпляр конкретного теста, полученного из BaseTestLogic . Но я обнаружил, что после сотен созданий объектов я могу получить исключение StackOverflow .
Я проверил свой код и увидел, что забыл удалить обработчик Timer Tick. Вопрос в том, где и когда правильно удалить хадлера?
Нужно ли реализовать интерфейс IDisposable в базовом классе и RemoveHandler в Dispose ?