是否可以在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执行):

10-05 18:12