Я понимаю, что запрос, который ищет этот вопрос, не будет достаточным для обнаружения каждой маленькой проблемы с реализациями IDisposable, но каждое раннее предупреждение имеет значение, поэтому я возьму то, что смогу получить.
Я хотел бы знать, если кто-нибудь придумал запрос CQL для NDepend, который перечислит все классы, которые не реализуют IDisposable, но имеет одно или несколько полей, которые это делают. Класс может оказаться в списке результатов этого запроса либо из-за ошибки (т. Е. Кто-то забыл проверить типы полей для реализаций IDisposable), либо из-за эволюции кода (т. Е. Класс, используемый в поле где-то, получает IDisposable, прикрепленный к более поздняя дата без обновления всех использований).
Простой запрос для поиска всех классов, которые не реализуют IDisposable:
SELECT TYPES WHERE !Implement "System.IDisposable"
Однако это, конечно, не проверит, должен ли класс реализовать IDisposable для вышеуказанного правила.
У кого-нибудь есть такой запрос? Я до сих пор разбираюсь с CQL, поэтому эта часть ускользает от меня.