Para examinar las dependencias del código .NET, puede utilizar las capacidades de la herramienta NDepend. La herramienta propone:
Por ejemplo, dicha consulta puede tener este aspecto:
from m in Methods
let depth = m.DepthOfIsUsing("NHibernate.NHibernateUtil.Entity(Type)")
where depth >= 0 && m.IsUsing("System.IDisposable")
orderby depth
select new { m, depth }
Y su resultado se ve así: (observe la profundidad de la métrica del código , 1 es para llamantes directos, 2 para llamadores de llamantes directos ...) (observe también el botón Exportar a gráfico para exportar el resultado de la consulta a un Gráfico de llamada )
El gráfico de dependencia se ve así:
La matriz de dependencia se ve así:
La matriz de dependencia es de facto menos intuitiva que el gráfico, pero es más adecuada para navegar por secciones complejas de código como:
Descargo de responsabilidad: trabajo para NDepend