必须在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)?
答案 0 :(得分:1)
在这种情况下,你不需要通过let
子句定义一个集合,你可以写:
from a in Application.Types
where a.IsClass && a.Name.EndsWith("Manager") &&
a.Methods.WithSimpleName("Dispose").FirstOrDefault() == null
select a