Esto parece ser la advertencia 67 y, por lo tanto, se puede suprimir con:
#pragma warning disable 67
No olvide restaurarlo lo antes posible (después de la declaración del evento) con:
#pragma warning restore 67
Sin embargo, lo comprobaría de nuevo y me aseguraría de que esté promocionando el evento en algún lugar, no solo suscribiéndolo . El hecho de que el compilador escupe 20 advertencias y no 20 errores cuando comenta el evento también es sospechoso ...
También hay un artículo interesante sobre esta advertencia y específicamente cómo se aplica a las interfaces; hay una buena sugerencia sobre cómo lidiar con eventos "no utilizados". Las partes importantes son:
La respuesta correcta es ser explícito sobre lo que espera del evento, que en este caso no es nada:
public event EventHandler Unimportant
{
add { }
remove { }
}
Esto suprimirá limpiamente la advertencia, así como la implementación extra generada por el compilador de un evento normal. Y como otro beneficio adicional, invita a pensar si esta implementación de no hacer nada es realmente la mejor implementación. Por ejemplo, si el evento no es tan poco importante como no es compatible, de modo que los clientes que confían en la funcionalidad pueden fallar sin ella, podría ser mejor indicar explícitamente la falta de soporte y fallar rápidamente lanzando un excepción:
public event EventHandler Unsupported
{
add { throw new NotSupportedException(); }
remove { }
}
Por supuesto, una interfaz que se puede implementar de manera útil sin algunas partes de su funcionalidad es a veces una indicación de que la interfaz no es óptimamente cohesiva y debe dividirse en interfaces separadas.