Сборка CQL в NDepend для проверки шаблонов MVVM

Я хотел проверить несколько шаблонов проектирования в коде C# с помощью статического анализа. Я хочу проверить это с помощью NDepend. Приложение построено с использованием стиля проектирования MVVM, поэтому я хотел бы проверить следующие типичные шаблоны проектирования: 1. Классы View-Model не имеют каких-либо свойств DependencyProperties (WPF), их следует видеть только в слое View. 2. Уровень просмотра не должен реализовывать IDisposable и т. Д.

Я пытался создавать запросы в CQL для захвата этих деталей, но не смог, так как мне нужно проверить, к какому уровню принадлежит класс, а также его свойства. Я понимаю, что вложенный запрос еще не поддерживается CQL, так есть ли способ, которым я могу зафиксировать эти детали с помощью NDepend? Я надеюсь, что смогу каким-то образом захватить результаты нескольких запросов и выполнить их пересечение?

Спасибо заранее, Шон

1 ответ

Решение

Самый простой способ получить правило CQLinq, которое предупреждает, если A использует B (A и B могут быть Assembly / Namespace / Type / Method / Field), это просмотреть A и B в Матрице зависимостей и сгенерировать правило кода, которое предупреждает если эта зависимость существует:

Создает правило кода, которое предупреждает, существует ли эта зависимость

... и в результате генерируется следующее правило:

Кодовое правило генерируется

Другие вопросы по тегам