是否可以在CQL中撰写请求?
我想写一些像:
从“ myassemblie”组件中选择类型
在“ myotherassemblie”组件中使用IsStatic的选择方法
谢谢,
货车
最佳答案
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执行):