CQL请求组合

3

是否可以在CQL中组合请求?

我想写类似这样的语句:

SELECT TYPES FROM ASSEMBLIES "myassemblie" WHERE IsUsing SELECT METHODS FROM ASSEMBLIES "myotherassemblie" WHERE IsStatic

谢谢, Vans

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进行代码查询组合


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接