如何在NDepend中减去或补充交集?

时间:2014-10-21 09:49:54

标签: c# ndepend cqlinq

必须在NDepend中创建自定义规则,以检查某些类中特定方法(例如Dispose)的可用性。必须为不包含该方法的类提供警告。

以下代码提供了需要检查方法可用性的所有类:

let ManagerClasses =
 from a in Application.Types
 where a.IsClass && a.Name.EndsWith("Manager")
 select a

以下代码给出了实际包含该方法的类:

let ManagerClassesWithDispose =
 from b in ManagerClasses
 from m in b.Methods
 where m.Name == "Dispose()"
 select b

如何获取不包含该方法的类?是否有可能在CQLinq中以某种方式找到(a-b)?

1 个答案:

答案 0 :(得分:1)

在这种情况下,你不需要通过let子句定义一个集合,你可以写:

 from a in Application.Types
 where a.IsClass && a.Name.EndsWith("Manager") &&
    a.Methods.WithSimpleName("Dispose").FirstOrDefault() == null
 select a