Come gestire gli eventi nelle classi estese?

0

Quando si estende una classe, qual è il modo corretto di impostare il codice da eseguire su qualche evento della classe base?

Si dovrebbe gestire l'evento della classe base in questo modo:

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

O si dovrebbe sovrascrivere il sottotitolo dell'evento?

Public Class Class2
    Inherits Class1

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

Grazie mille

    
posta VBobCat 08.03.2017 - 21:19
fonte

1 risposta

1

Entrambe le opzioni sono valide e comuni. La grande differenza: con l'opzione 1, non puoi necessariamente stabilire quale ordine vengono attivati dai gestori, mentre con la seconda opzione puoi decidere se chiamare MyBase.OnMyEvent prima o dopo l'implementazione sovrascritta.

    
risposta data 09.03.2017 - 00:11
fonte

Leggi altre domande sui tag