En C#, comment déclarer une sous-classe de Gestionnaire dans une interface?
Quel est le code de la syntaxe de déclaration d'une sous-classe de Gestionnaire d'événements (que vous avez défini) dans une interface?
J'ai créer le Gestionnaire d'événements sous-classe MyEventHandler par exemple dans le délégué de la déclaration, mais vous ne pouvez pas déclarer un délégué dans une interface...
Quand je demande à Visual Studio pour extraire une interface, il se réfère à la Gestionnaire d'événements dans IMyClassName comme MyClassName.MyEventHandler qui, évidemment, fait des ravages avec le type de couplage.
Je suis en supposant qu'il existe une façon simple de le faire. Dois-je déclarer explicitement mon gestionnaire d'événements dans un fichier séparé?
- Voulez-vous dire que vous voulez forcer une classe ayant un évènement?
- Je veux le cas échéant, être déclarées dans l'interface de sorte que chaque classe qui implémente cette interface doit également mettre en œuvre cet événement.
Vous devez vous connecter pour publier un commentaire.
Bien, vous avez besoin de définir les arguments et éventuellement déléguer quelque part. Vous n'avez pas besoin un deuxième fichier, mais je serais probablement le recommande... mais les classes ne devrait probablement pas être imbriquée, si c'était le problème d'origine.
La recommandation est d'utiliser la norme "de l'expéditeur, args" motif; il y a deux cmmon approches:
1: déclarer un événement-args classe séparément, et l'utilisation
EventHandler<T>
sur l'interface:2: déclarer un événement-les arguments de la classe et de type délégué séparément:
En supposant que C# 2.0 ou plus tard...