Ceci est une question très intéressante.
Il n'y a vraiment aucun moyen facile de suivre les événements sans code supplémentaire. Cela ne signifie pas que l'ajout du code doit être dur ou un porc de performance.
Si tous vos événements utilisent des eventArgs personnalisés, vous pouvez ajouter au constructeur une simple instruction de journalisation qui vous permettra de compter à chaque fois que vous créez l'un des eventArgs personnalisés. Si vous n'utilisez pas eventArgs personnalisé, vous pouvez facilement étendre eventArgs avec une classe customEventArgs qui effectue exactement ce comptage. Il suffit d'étendre le constructeur pour mettre à jour une variable statique que vous pouvez écrire dans un journal de temps en temps. Ensuite, en utilisant un refactor rapide, vous pouvez renommer tous vos eventArgs par défaut pour ce nouveau customEventArgs légèrement différent. Cela prendrait toutes les 10 minutes et ne casserait aucun code existant. Cependant, si vous savez qu'un profileur peut le faire, pourquoi ne pas l'utiliser? Si l'application est gigantesque et que vous essayez de faire de très petites optimisations pour qui vous construisez cette application, cela ne vous dérangerait probablement pas le coût supplémentaire associé à l'achat d'une licence en échange des améliorations apportées à leur logiciel. Parlez-vous de la visionneuse d'événements de Windows ou des abonnements aux événements de vos classes?
La taille de la solution (8 Mo * .cs fichiers) rend cette approche avec un argument d'événement personnalisé trop fastidieux. – ToPa
Si vous utilisez un IDE, vous pouvez facilement le remplacer après avoir créé un customevent. Cela ne devrait pas prendre plus de 10 ou 15 minutes. Et si vous utilisez déjà customevents tout ce que vous devez faire est d'ajouter un nouveau champ privé pour faire le comptage. – Mark
Aussi comment dans le monde sont vos fichiers texte * .cs ASCII 8MB ?! Si tel est le cas, vous avez besoin d'un refactoring GRAVE de votre programme. – Mark