【发布时间】:2010-04-27 12:45:53
【问题描述】:
我正在开发 .NET 1.1 中的 VB.NET Windows 窗体项目。我有这种架构,非常简单。
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。问题是,何时何地移除 hadler 是正确的?
是否需要在基类中实现IDisposable接口,在Dispose中实现RemoveHandler?
【问题讨论】:
标签: .net vb.net event-handling dispose