Поиск всех методов, которые обрабатывают события формы с помощью NDepend

Мне было интересно, сможет ли кто-нибудь помочь мне написать CQL-запрос для NDepend, который покажет мне все методы в моем классе формы, которые обрабатывают события формы. Поэтому я хотел бы иметь возможность найти все методы, которые выглядят так:

Private Sub AddFolderButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddFolderButton.Click

Я просмотрел некоторые варианты, но я не могу найти ничего, что делало бы то, что мне нужно.

Я только начал использовать NDepend, так что я еще не совсем привык к нему, но я знаю одно, как, черт возьми, я жил без него все это время.


person Nathan W    schedule 12.11.2008    source источник


Ответы (2)


Меня зовут Патрик из команды NDepend, и я подтверждаю, что на данный момент использование условия «Имя + регулярное выражение» для «имя метода + подпись» — лучший способ добиться того, чего вы хотите, с помощью CQL.

person Patrick from NDepend team    schedule 13.11.2008
comment
Ваше здоровье! Кстати, отличный инструмент, не знаю, что бы я без него делал. - person Nathan W; 13.11.2008

У меня есть что-то, что работает, но на самом деле это не на 100% правильно, потому что все обработчики событий, сгенерированные формой, имеют подчеркивание в имени, я использовал подчеркивание в качестве фильтра, я также фильтрую, где имя имеет «EventArgs» в нем . Запрос выглядит так:

SELECT METHODS WHERE NameLike "_" OR NameLike "EventArgs" AND !IsSpecialName AND IsPrivate 

Этот запрос в значительной степени возвращает все методы, обрабатывающие события, но я все же хотел бы найти более правильный способ.

person Nathan W    schedule 12.11.2008