NDepend:查找给定类型或在其通用参数中使用给定类型的字段

NDepend: Find fields that are either a given type or use a given type in their generic parameters

我将如何使用 NDepend 来不仅识别 JustMyCode.Fields 恰好是 给定类型,而且还间接地识别 IList<MyType> 之类的字段, IDictionary<int, MyType>, Lazy<T> 和所有那些“不错”的通用 variants/usages?

是否有任何类似于 .UsedBy(...) 的辅助方法可以提供这样的功能?

这是一个查询,用于获取使用 StringInt32 键入的字段:

let types = Types.WithFullNameIn(
   "System.String", 
   "System.Int32").ToArray()
from f in Application.Fields
where !f.ParentType.IsEnumeration &&
       f.FieldType != null &&
       types.Contains(f.FieldType)
select new { f, type =f.FieldType }

目前您无法检测泛型参数中何时使用类型。