2

必须在 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 中以某种方式找到 (ab)?

4

1 回答 1

1

在这种情况下,您不需要通过let子句定义集合,您只需编写:

 from a in Application.Types
 where a.IsClass && a.Name.EndsWith("Manager") &&
    a.Methods.WithSimpleName("Dispose").FirstOrDefault() == null
 select a
于 2014-10-21T13:49:27.367 回答