Поиск типов, которые реализуют определенные методы с использованием CQL
Я уточняю встроенный запрос мертвого кода в NDEpend и нахожу много ложных срабатываний от автономных программ (например, w/ Main() точки входа).
Я заметил, что встроенный запрос неиспользуемых типов имеет следующее предложение:
!NameIs "Program" AND // Generally, types named Program
// contain a Main() entry-point
// method and this condition avoid
// to consider such type as
// unused code.
Нельзя ли написать что-то вроде
HasMethodNamed "Main"
вместо? Это то, что я действительно хотел бы выбрать для.
1 ответ
Решение
Да, вы можете дополнить свое правило CQL HasMethodNamed "Main"
,
Для этого:
- Преобразуйте ваше правило CQL в правило CQLinq
- добавить предложение CQLinq where
&& t.Methods.Where(m => m.SimpleName == "Main").Any()