Cela semble être l' avertissement 67 et peut donc être supprimé avec:
#pragma warning disable 67
N'oubliez pas de le restaurer au plus vite (après la déclaration d'événement) avec:
#pragma warning restore 67
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 bonne réponse est d'être explicite sur ce que vous attendez de l'événement, qui dans ce cas, n'est rien:
public event EventHandler Unimportant
{
add { }
remove { }
}
Cela supprimera proprement l'avertissement, ainsi que l'implémentation supplémentaire générée par le compilateur d'un événement normal. Et comme autre avantage supplémentaire, cela incite à se demander si cette implémentation ne rien faire est vraiment la meilleure implémentation. Par exemple, si l'événement n'est pas tellement sans importance qu'il n'est pas pris en charge, de sorte que les clients qui dépendent de la fonctionnalité risquent d'échouer sans elle, il peut être préférable d'indiquer explicitement le manque de support et d'échouer rapidement en lançant un exception:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
Bien sûr, une interface qui peut être utilement mise en œuvre sans certaines parties de ses fonctionnalités est parfois une indication que l'interface n'est pas cohésive de manière optimale et doit être divisée en interfaces séparées.