Как вы отображаете отношения, которые соединяют ClassA с ClassX, используя NDepend?
ФОН
При въезде в неизвестный город часто желательно иметь карту, которая поможет вам добраться до пункта назначения. Точно так же, когда вы смотрите на унаследованный код в первый раз, часто предпочтительнее иметь диаграмму, которая может очертить отношения в приложении.
ПРИМЕР
В этом случае меня попросили взглянуть на унаследованное приложение, ориентированное на данные, чтобы лучше понять, как оно управляет соединениями с базой данных. Или, более конкретно, я пытаюсь сгенерировать диаграмму классов, которая описывает отношения между Program
а также System.Data.Common.DbConnection
,
ЭТА ПРОБЛЕМА
Я относительно новичок в NDepend, и мне трудно написать соответствующий оператор CQLinq. К сожалению, следующее показывает только сборки и их отношения друг с другом. Как бы я изменил этот запрос для отображения отношений между двумя типами?
Любая информация, которую вы можете предоставить, будет принята с благодарностью!
from t in Assemblies
where t.DepthOfIsUsedBy("MyCompany.MyProject.MyNamespace.Program") >=0 &&
t.DepthOfIsUsing("System.Data.Common.DbConnection") >=0
select new { t, t.NbLinesOfCode}
1 ответ
from t in Assemblies
означает, что т является сборкой.
Тебе стоит попробовать from t in Application.Types
:
// <Name>Display relationships between two types</Name>
from t in Application.Types
where t.DepthOfIsUsedBy("Company.Project.NamespaceA") >=0 &&
t.DepthOfIsUsing("Company.Project.NamespaceZ") >=0
select new { t, t.NbLinesOfCode}