ich einige Withevent handlerr wieIst es obligatorisch zu RemoveEventHandler in Dispose() Mothod, Or classobject = Nichts ist ausreichend
Private WithEvents mErrorList As ErrorList
Private WithEvents mControlManager As ControlManager
erklärt haben, habe ich diese Handler Abonnieren Sie die Ereignisse in einer Klasse wie
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
aber in dispose-Methode
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
Im dispose-Methode stelle ich die Objekte als zu Nichts gleich. Also meine Frage muss ich über den Handler in entfernen Dispose() Methode oder Objekt = Nichts ist ausreichend. in einer solchen Art und Weise
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
Keiner dieser Code ist korrekt. Verwenden Sie die Dispose-Methode nur, um die Dispose-Methode für alle Felder in Ihrer Klasse aufzurufen, wenn sie eine haben. –
@HansPassant Ich habe gerade Code hinzugefügt, um den anderen SO-Benutzer zu verstehen. meine Frage ist, verwende ich RemoveHandler In Dispose() oder nicht. während ich Werte auf nichts von Klassenobjekt (Variable) setze. – Pritish