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

问题描述

我将如何使用NDepend不仅识别完全属于给定类型的JustMyCode.Fields,而且还间接识别IList<MyType>,{{1}之类的字段},IDictionary<int,MyType>以及所有这些“不错的”通用变体/用法

是否有任何类似于Lazy<T>的辅助方法提供这种功能

解决方法

这里是一个查询,用于获取使用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 }

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

Querying with NDepend fields of a given type

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...