I have declared few WithEvent handlerr like
Private WithEvents mErrorList As ErrorList
Private WithEvents mControlManager As ControlManager
I used this handler to subscribe the events in a class such as
Private Sub mControlManager_PageLoaded(sender As Object, e As DataEntry.PageLoadEventArgs) Handles mControlManager.PageLoaded
// line of code
End Sub
Similar way....
Private Sub mErrorList_ErrorSelected(ByVal sender As Object, ByVal e As ErrorSelectedEventArgs) Handles mErrorList.ErrorSelected
// line of code
End Sub
but in dispose method
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
Me.mErrorList = Nothing
Me.mControlManager = Nothing
End If
End If
Me.disposedValue = True
End Sub
In the dispose method I set the objects as equal to Nothing. So my question do I need to remove above the Handler in Dispose() method or object = Nothing is sufficient. in such a way
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
RemoveHandler Me.mErrorList.ErrorSelected, AddressOf Me.mErrorList_ErrorSelected
Me.mErrorList = Nothing
RemoveHandler Me.mControlManager.PageLoaded, AddressOf mControlManager_PageLoaded
Me.mControlManager = Nothing
End If
End If
Me.disposedValue = True
End Sub