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

StackOverflow https://stackoverflow.com/questions/282729

  •  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 

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top