是否可以在CQL中撰写请求?
我想写一些像:
从汇编中选择类型“myassemblie”WHERE IsUsing SELECT METHODS FROM ASSEMBLIES“myotherassemblie”WHERE IsStatic
谢谢, 面包车
答案 0 :(得分:3)
NDepend团队很自豪能够最终为这个问题提供一个优雅的答案:)感谢新的NDepend v4 Code Query LINQ (CQLinq) feature,您所要求的内容可以写成如下:
let staticMethods = Application.Assemblies.WithName("nunit.core")
.ChildMethods().Where(m => m.IsStatic)
from t in Application.Assemblies.WithName("nunit.util")
.ChildTypes().UsingAny(staticMethods )
let staticMethodsUsed = staticMethods.UsedBy(t)
select new { t, staticMethodsUsed }
还有很多其他方法可以编写这样的查询,但这种方式肯定是最简洁和优化的方法(右上方的面板告诉它在4ms内执行):