2

考虑这个类:

Class Item : Inherits ItemBase

    Public Sub New
        AddHandler MyEvent, AddressOf MyEventHandler
    End Sub

    Private Sub MyEventHandler()    
    End Sub

    Private Sub MySecondEventHandler() Handles MyBase.MyEvent
    End Sub

End Class

我是否必须在销毁此项目时手动删除处理程序?这不是由 GC 或托管代码编译器的其他工具完成的吗?

4

2 回答 2

0

在所有对它的引用(包括所有事件处理程序)都消失之前,该对象不会被垃圾收集,也不会被销毁,直到它被垃圾收集。你真正需要做的是删除同一个类中的处理程序,一旦你完成它们就会添加处理程序。

于 2010-07-18T10:00:10.063 回答
0

如果您的对象被标记为已死,则意味着没有对它的引用,并且它的内部引用现在来自死对象,并且从这一点开始无关紧要。因此,您不必手动删除处理程序。

于 2010-07-18T12:54:55.080 回答