CQL请求组成

发布于 2024-10-20 17:17:38 字数 163 浏览 1 评论 0原文

是否可以用 CQL 编写请求?

我想写一些类似的内容:

从组件“myassemblie”中选择类型,其中 IsUsing SELECT METHODS FROM ASSEMBLIES "myotherassemblie" WHERE IsStatic

谢谢, 货车

Is it possible to compose requests in CQL ?

I would like to write something like:

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

Thanks,
Vans

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静谧 2024-10-27 17:17:38

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

Code Query Composition through CQLinq

The NDepend team is proud to finally provides an elegant answer to this question :) Thanks to the new NDepend v4 Code Query LINQ (CQLinq) feature, what you are asking for can be written for example like:

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  }

There are many other ways to write such query, but this way is certainly the most concise and optimized one (the top-right panel tells it is executed in 4ms):

Code Query Composition through CQLinq

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文