Encontrar todos los métodos que manejan eventos de formulario usando NDepend
-
08-07-2019 - |
Pregunta
Me preguntaba si alguien podría ayudarme a escribir una consulta CQL para NDepend que me mostrara todos los métodos en mi clase de formulario que manejan los eventos de formulario. Así que me gustaría poder encontrar todos los métodos que se ven así:
Private Sub AddFolderButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddFolderButton.Click
He echado un vistazo a algunas de las opciones, pero realmente no puedo encontrar nada que haga lo que necesito.
Acabo de empezar a usar NDepend, así que todavía no me he acostumbrado, pero sé una cosa: ¿cómo demonios viví sin él todo este tiempo?
Solución
Soy Patrick, del equipo de NDepend, y confirmo que, hasta ahora, usar la condición 'Nombre + expresión regular' en 'nombre del método + firma' es la mejor manera de lograr lo que desea con CQL.
Otros consejos
Tengo algo que funciona, pero en realidad no es 100% correcto, porque todos los controladores de eventos generados por el formulario tienen un guión bajo en el nombre, utilicé el guión bajo como filtro, también filtro donde el nombre tiene " EventArgs " en eso. La consulta tiene este aspecto:
SELECT METHODS WHERE NameLike "_" OR NameLike "EventArgs" AND !IsSpecialName AND IsPrivate
Esa consulta devuelve prácticamente todos los métodos que manejan eventos, pero aún me gustaría encontrar una forma más correcta.