当我将NDepend CQLinq查询移植到C#时,我必须始终开始定义要查询的codeBase,所以这个CQLinq查询
from m in Methods
where m.ILCyclomaticComplexity > 10
select new {m}在NDepend中使用C# API,我必须移植到:
ICodeBase codeBase
from m in codeBase.Application.Methods
where m.ILCyclomaticComplexity > 10
select m 我看到有一个ICQLinqExecutionContext。我是否可以为查询定义上下文,以便直接使用程序集、方法、JustMyCode、...etc?
谢谢!
发布于 2013-10-07 07:59:41
正如ICQLinqExecutionContext文档中的解释:这个接口是为CQLinq实现的使用保留的,不打算在代码中使用。
但是,正如您注意到的,只要稍加重写,您就可以访问100%的CQLinq特性(比如使用codeBase.Application.Methods整数的Methods)。
另外,通过阅读关于预定义域的CQLinq语法文档,您可以看到像CQLinq中的Methods这样的域在编译后CQLinq被翻译成context.CodeBase.Methods。您真正缺少的不是接口ICQLinqExecutionContext,而是CQLinq编译后的时间,这在C#中是不可用的。
https://stackoverflow.com/questions/19202675
复制相似问题