2

假设我正在分析一个包含很多控件的解决方案,例如

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

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

4

1 回答 1

1

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

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

一旦可用,我们将更新此答案,希望在 2017 年的某个时间。

顺便说一句,这种想法已经可以通过notmycode JustMyCode 功能获得,但您只能定义和重用JustMyCode集合。

于 2016-04-05T08:43:20.130 回答