Considérez les objets suivants:de mise en œuvre des événements dans une classe de base
Public MustInherit Class FileRepository
Public MustOverride Sub SaveStringToFile(ByVal FileText As String, ByVal FilePath As String)
Public Event FileSaved(ByRef sender As Object, ByVal EventArgs As EventArgs)
End Class
Public Class XMLFileRepository
Inherits FileRepository
Public Overrides Sub SaveStringToFile(ByVal FileText As String, ByVal FilePath As String)
End Sub
Private Sub XMLFileRepository_FileSaved(ByRef sender As Object, ByVal EventArgs As System.EventArgs) Handles Me.FileSaved
End Sub
End Class
Je veux que ma classe de base pour déclencher l'événement FileSaved
dans son implentation de SaveStringToFile
une fois qu'il est enregistré le fichier. Cependant, dans VB.NET, une classe dérivée ne peut pas déclencher un événement de classes de base. Je suppose que je peux traiter XMLFileRepository_FileSaved
comme un appel de fonction standard et que mon implémentation SaveStringToFile
l'appelle directement, mais je pense que j'aborde le problème de la mauvaise façon. Toute aide est la bienvenue!
Pouvez-vous utiliser à la place une interface? Une autre option pourrait être d'écrire une méthode wrapper 'RaiseFileSaved (Object, EventArgs)'. – Bobby