Meilleures pratiques pour les arguments d'événement ienumables dans les événements
Question
J'ai une DLL comprenant une classe pour gérer les ports audio et MIDI et les connexions. Chaque fois que les ports sont enregistrés ou radiés ou que des connexions sont créées ou libérées, cette classe tire un événement, comme ConnectionChanged
avec des arguments d'événements personnalisés, y compris les propriétés Enum ChangeType
et IEnumerable<Connection> ChangedConnections
Maintenant, ma question est: devrais-je vraiment envoyer les connexions modifiées ou modifier la propriété de l'événement. Connections
et envoyer un ienumable contenant toutes les connexions actives?
La solution
À mon avis, l'événement est appelé "ConnectionChanged", vous devez inclure les connexions qui s'appliquent à cet événement dans les arguments de votre événement. Rendez toutes les connexions actives accessibles à l'aide d'un membre de votre classe.
Lors du licenciement de l'événement. Vous envoyez l'objet réel qui a soulevé l'événement dans l'expéditeur membre. Donc, si quelqu'un est réellement intéressé par toutes les connexions actives, elle peut être obtenue via l'objet expéditeur.