Поиск типов, которые реализуют определенные методы с использованием CQL

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

  •  03-10-2019
  •  | 
  •  

Вопрос

Я переработаю встроенный запрос Dead Code в NDEPend, и я нахожу много ложных срабатываний от автономных программ (т.е. ж / главных () въездных точек).

Я заметил, что встроенный запрос неиспользованных типов имеет этот пункт:

 !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"

вместо? Это то, что мне очень хотелось бы выбрать.

Это было полезно?

Решение

Да, вы можете завершить правило CQL с помощью HasMethodNamed "Main".

Для этого:

  1. Преобразовать правило CQL в правило CQLinq
  2. добавить Cqlinq. куда пункт && t.Methods.Where(m => m.SimpleName == "Main").Any()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top