3

背景

当开车经过一个未知的城市时,通常最好有一张可以帮助引导您到达目的地的地图。同样,当第一次查看遗留代码时,通常最好有一个可以概述应用程序内关系的图表。

例子

在这种情况下,我被要求查看一个遗留的 {以数据为中心的}应用程序,以更好地了解它如何管理它的数据库连接。或者更具体地说,我正在尝试生成一个概述 和 之间关系的类ProgramSystem.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}
4

1 回答 1

1

from t in Assemblies表示 t 是一个程序集。

你应该尝试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}
于 2013-02-28T18:33:52.877 回答