2017-03-07 6 views
0

Wenn man eine Klasse erweitert, wie ist der richtige Weg, den Code für ein Ereignis der Basisklasse zu setzen?Wie behandelt man Ereignisse in erweiterten Klassen?

sollte man die Basisklasse Ereignis auf diese Weise handhaben:

Public Class Class2 
    Inherits Class1 

    Private Sub MyBase_MyEvent(sender as object, e as eventargs) Handles MyBase.MyEvent 
     ' do stuff here 
    End Sub 
End Class 

Oder sollte man das Ereignis Anrufer Unter außer Kraft setzen?

Public Class Class2 
    Inherits Class1 

    Protected Overrides Sub OnMyEvent(e as EventArgs) 
     MyBase.OnMyEvent(e) 
     ' do stuff here 
    End Sub 
End Class 

Vielen Dank

Antwort

0

ich bekam und Antwort auf https://softwareengineering.stackexchange.com/a/343769/234737 und per Post hier für die Aufzeichnung und Hilfe von anderen mit derselben Frage:

Beide Optionen sind fein und gemein. Der große Unterschied: Mit Option 1 können Sie nicht unbedingt feststellen, in welcher Reihenfolge die Handler abgefeuert werden, während Sie mit der zweiten Option entscheiden können, ob MyBase.OnMyEvent vor oder nach Ihrer überschriebenen Implementierung aufgerufen wird.

Verwandte Themen