Поиск всех методов, которые обрабатывают события формы, используя NDepend
-
08-07-2019 - |
Вопрос
Мне было интересно, сможет ли кто-нибудь помочь мне написать CQL-запрос для NDepend, который покажет мне все методы в моем классе формы, которые обрабатывают события формы. Поэтому я хотел бы найти все методы, которые выглядят так:
Private Sub AddFolderButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddFolderButton.Click
Я просмотрел некоторые варианты, но не могу найти ничего, что делает то, что мне нужно.
Я только начал использовать NDepend, так что я до сих пор не привык к нему, но я знаю одну вещь, как, черт возьми, я жил без него все это время.
Решение
Я Патрик из команды NDepend, и я подтверждаю, что пока использование условия 'Namelike + регулярное выражение' в 'имя метода + подпись' - лучший способ добиться того, чего вы хотите с помощью CQL.
Другие советы
У меня есть кое-что, что работает, но на самом деле это не на 100% правильно, потому что все обработчики событий, сгенерированные формой, имеют там подчеркивание, я использовал подчеркивание в качестве фильтра, я также фильтрую, где имя имеет " EventArgs & Quot; в этом. Запрос выглядит так:
SELECT METHODS WHERE NameLike "_" OR NameLike "EventArgs" AND !IsSpecialName AND IsPrivate
Этот запрос в значительной степени возвращает все методы, которые обрабатывают события, но я все же хотел бы найти более правильный путь. Р>