Поиск типов, которые реализуют определенные методы с использованием CQL - PullRequest
2 голосов
/ 16 сентября 2010

Я уточняю встроенный запрос мертвого кода в 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 Ответ

1 голос
/ 16 сентября 2010

Да, вы можете дополнить свое правило CQL HasMethodNamed "Main".

Для этого:

  1. Преобразование вашего правила CQL в правило CQLinq
  2. добавить CQLinq , где предложение && t.Methods.Where(m => m.SimpleName == "Main").Any()
...