如何在 c# 中定义 NDepend API CQLinq 执行上下文



当我将 NDepend CQLinq 查询移植到 C# 时,我必须开始定义要查询的代码库,所以这个 CQLinq 查询

from m in Methods
where m.ILCyclomaticComplexity > 10 
select new {m}

在 C# 中使用 NDepend API,我必须移植到:

ICodeBase codeBase
from m in codeBase.Application.Methods
where m.ILCyclomaticComplexity > 10 
select m 

我看到有一个ICQLinqExecutionContext。我可以定义查询的上下文,以便我可以直接使用程序集、方法、JustMyCode...等?

谢谢!

如 ICQLinqExecutionContext 文档中所述:此接口保留用于 CQLinq 实现,不应在代码中使用。

但正如您所注意到的,只需稍微重写一下,您就可以访问 100% 的 CQLinq 功能(例如使用仅codeBase.Application.Methods Methods 的功能)

此外,通过阅读有关预定义域的 CQLinq 语法文档,您可以看到像 CQLinq 中的 Methods 这样的域在 CQLinq 编译后被转换为context.CodeBase.Methods。您真正缺少的不是接口ICQLinqExecutionContext而是 C# 中不可用的 CQLinq 编译后时间。

相关内容

  • 没有找到相关文章

最新更新