Por exemplo, recebo este aviso do compilador,
O evento 'Company.SomeControl.SearchClick' nunca é usado.
Mas eu sei que é usado porque comentá-lo me lança cerca de 20 novos avisos de páginas XAML que estão tentando usar esse evento!
O que da? Existe um truque para se livrar desse aviso?
Respostas:
Isso parece ser o aviso 67 e pode, portanto, ser suprimido com:
Não se esqueça de restaurá-lo o mais rápido possível (após a declaração do evento) com:
No entanto, gostaria de verificar novamente e ter certeza de que você está promovendo o evento em algum lugar, não apenas se inscrevendo nele. O fato de o compilador emitir 20 avisos e não 20 erros quando você comenta o evento também é suspeito ...
Também há um artigo interessante sobre esse aviso e, especificamente, como ele se aplica a interfaces; há uma boa sugestão sobre como lidar com eventos "não utilizados". As partes importantes são:
fonte
Se você for forçado a implementar um evento de uma interface, que sua implementação não precisa, você pode fazer o seguinte para evitar o aviso.
fonte
if(OnCompleteOpenEvent != null) OnCompleteOpenEvent();
que "OnCompleteEvent não existe no contexto atual".A segunda melhor maneira é deixar claro que o evento não é suportado, lançando uma exceção se alguém tentar se inscrever nele.
Como uma variante disso, você também pode simplesmente deixar os métodos
add
eremove
vazios para ignorar silenciosamente as inscrições no evento.A melhor solução é refatorar o código, talvez puxar a declaração do evento para o implementador, se possível.
Como último recurso, você também pode desativar o aviso como tal
fonte
Você também pode fazer o seguinte:
fonte
O compilador aparentemente não está ciente de que está sendo usado no código XAML. Tente suprimir o aviso em sua definição de evento.
Além disso, certifique-se de que você está realmente criando o evento em algum lugar.
fonte
Você pode suprimir avisos individuais.
Nesse caso, CS0219 é o aviso sobre as variáveis sendo atribuídas, mas não usadas. Você pode usar o sinalizador / nowarn: 0219 ou adicionar o número do erro no painel de propriedades do projeto (em "Build", lembre-se de remover o CS inicial). Lembre-se de suprimir todos os avisos dessa classe.
fonte
Ou você pode adicionar
<NoWarn>67</NoWarn>
ao seu projetofonte