Par exemple, j'obtiens cet avertissement du compilateur,
L'événement 'Company.SomeControl.SearchClick' n'est jamais utilisé.
Mais je sais qu'il est utilisé car le commenter me lance comme 20 nouveaux avertissements de pages XAML qui tentent d'utiliser cet événement!
Ce qui donne? Y a-t-il une astuce pour se débarrasser de cet avertissement?
Réponses:
Cela semble être l' avertissement 67 et peut donc être supprimé avec:
N'oubliez pas de le restaurer au plus vite (après la déclaration d'événement) avec:
Cependant, je vérifierais à nouveau et m'assurerais que vous soulevez l'événement quelque part, pas seulement en vous y abonnant . Le fait que le compilateur crache 20 avertissements et non 20 erreurs lorsque vous commentez l'événement est également suspect ...
Il y a aussi un article intéressant sur cet avertissement et en particulier sur la façon dont il s'applique aux interfaces; il y a une bonne suggestion sur la façon de traiter les événements "inutilisés". Les parties importantes sont:
la source
Si vous êtes obligé d'implémenter un événement à partir d'une interface, que votre implémentation n'a pas besoin, vous pouvez effectuer les opérations suivantes pour éviter l'avertissement.
la source
if(OnCompleteOpenEvent != null) OnCompleteOpenEvent();
que "OnCompleteEvent n'existe pas dans le contexte actuel".Le deuxième meilleur moyen est à mon humble avis d'indiquer clairement que l'événement n'est pas pris en charge en lançant une exception si quelqu'un essaie de s'y abonner.
En variante, vous pouvez également laisser les méthodes
add
etremove
vides pour ignorer silencieusement les abonnements sur l'événement.La meilleure solution est de refactoriser le code, peut-être d'extraire la déclaration de l'événement à l'implémenteur si possible.
En dernier recours, vous pouvez également désactiver l'avertissement comme ceci
la source
Vous pouvez également effectuer les opérations suivantes:
la source
Le compilateur n'est apparemment pas conscient qu'il est utilisé dans le code XAML. Essayez de supprimer l'avertissement dans votre définition d'événement.
Assurez-vous également de soulever l'événement quelque part.
la source
Vous pouvez supprimer les avertissements individuels.
Dans ce cas, CS0219 est l'avertissement concernant les variables affectées mais non utilisées. Vous pouvez soit utiliser l'indicateur / nowarn: 0219, soit ajouter le numéro d'erreur dans le volet des propriétés du projet (sous "Construire", n'oubliez pas de supprimer le premier CS). Gardez à l'esprit que tous les avertissements de cette classe sont supprimés .
la source
Ou vous pouvez ajouter
<NoWarn>67</NoWarn>
à votre projetla source