3

是否可以在 CQL 中编写请求?

我想写一些类似的东西:

从程序集“myassemblie”中选择类型在哪里使用从程序集“myotherassemblie”中选择的方法在哪里是静态的

谢谢,万斯

4

1 回答 1

3

NDepend 团队很自豪终于为这个问题提供了一个优雅的答案 :) 感谢新的 NDepend v4代码查询 LINQ (CQLinq) 功能,您所要求的可以这样写:

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 内执行):

通过 CQLinq 进行代码查询组合

于 2011-03-07T18:58:20.687 回答