CQLinq代码可以在多个查询中重用吗?

时间:2016-04-04 09:11:35

标签: .net ndepend cqlinq

假设我正在分析包含大量控件的解决方案,例如

public class FooControl : IControlBase
{
    public void EvilMethod1()
    {
        // does some warning-level evil here
    }

    public void EvilMethod2()
    {
        // does some critical-level evil here
    }
}

我想编写两个CQLinq查询来报告所有具有恶意代码的类(例如EvilMethod1),以及在两个单独的查询中使用真正邪恶的代码(例如EvilMethod2)。

要查找此查询应分析的所有类型,我将编写诸如

之类的代码
let Controls = from t in Types
where t.NameLike("Control")
&& t.Implement(@"myNamespace.IControlBase")
select t

from c in Controls
... // actual query goes here

这两个查询显然会使用此代码。 有没有办法在两个查询中引用此代码,或者我被迫复制它?

1 个答案:

答案 0 :(得分:1)

现在你需要复制逻辑,但是这个功能在我们的TODO列表中,你可以在这里投票:

https://ndepend.uservoice.com/forums/226344-ndepend-user-voice/suggestions/9752604-let-queries-pull-data-from-other-queries

我们会尽快更新此答案,希望在2017年的某个时间。

顺便说一句,这种想法已经通过notmycode JustMyCode feature提供了,但您只能定义并重复使用JustMyCode集。