Existe-t-il un moyen d'obtenir le nombre de gestionnaires d'événements attachés à un événement? Le problème est que quelque part dans le code, il continue à attacher des gestionnaires à un événement, comment cela peut-il être résolu?Gestionnaires d'événements C#
4
A
Répondre
10
Il est possible d'obtenir une liste de tous les abonnés en appelant GetInvocationList()
public class Foo
{
public int GetSubscriberCount()
{
var count = 0;
var eventHandler = this.CustomEvent;
if(eventHandler != null)
{
count = eventHandler.GetInvocationList().Length;
}
return count;
}
public event EventHandler CustomEvent;
}
0
Vous pouvez implémenter votre propre événement ajouter/supprimer des méthodes:
private EventHandler _event;
public event EventHandler MyEvent
{
add
{
if (_event == null) _event = value;
_event += value;
}
remove
{
if (_event != null) _event -= value;
}
}
0
Vous pouvez remplacer le add- et de supprimer - opération (+ = et - =) pour l'événement comme vu dans le code suivant:
private int count = 0;
public event EventHandler MyEvent {
add {
count++;
// TODO: store event receiver
}
remove {
count--;
// TODO: remove event receiver
}
}
Questions connexes
- 1. Gestionnaires d'événements C#
- 2. Plugins C# et gestionnaires d'événements
- 3. (conditionnel) Gestionnaires d'événements multiples C#
- 4. Gestionnaires d'événements C# utilisant une énumération
- 5. application C# gestionnaires d'événements en F #
- 6. Différences dans l'affectation des gestionnaires d'événements C#?
- 7. C# + Utilisation par programme des gestionnaires d'événements
- 8. Le doute avec les gestionnaires de C#?
- 9. Gestionnaires HTTP: Quand utiliser les gestionnaires synchrones/asynchrones/génériques (ashx)?
- 10. Ajout manuel de gestionnaires d'événements de page dans ASP.Net C#
- 11. Enregistrement de gestionnaires pour l'événement COM .NET en C++
- 12. Puis-je attacher en retard aux gestionnaires d'événements en C#?
- 13. gestionnaires de page asp.net
- 14. Priorité aux gestionnaires d'événements
- 15. Énumération des gestionnaires d'événements
- 16. Gestionnaires d'événements JavaScript
- 17. Gestionnaires d'événements BackgroundWorker
- 18. Gestionnaires de rappel imbriqués?
- 19. gestionnaires d'événements javascript
- 20. Gestionnaires d'événements jQuery
- 21. Gestionnaires d'événements récursifs SharePoint
- 22. Suppression des gestionnaires d'événements
- 23. gestionnaires d'événements dojo clone
- 24. gestionnaires d'événements attachés Programmatically
- 25. Gestionnaires de commandes multiples MVVM
- 26. Récupérer tous les gestionnaires de fenêtres
- 27. Unir plusieurs gestionnaires d'événements Javascript
- 28. Gestionnaires de transactions multiples JPA
- 29. gestionnaires d'événements de clic PHP
- 30. JQuery nettoyage des gestionnaires d'événements