Para navegar pelas dependências do código .NET, você pode usar os recursos da ferramenta NDepend. A ferramenta propõe:
Por exemplo, essa consulta pode ser semelhante a:
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 }
E seu resultado se parece com: (observe a profundidade da métrica do código , 1 é para chamadores diretos, 2 para chamadores de chamadores diretos ...) (observe também o botão Exportar para Gráfico para exportar o resultado da consulta para um Gráfico de Chamada )
O gráfico de dependência se parece com:
A matriz de dependência é semelhante a:
A matriz de dependência é de fato menos intuitiva do que o gráfico, mas é mais adequada para navegar por seções complexas de código como:
Aviso: Eu trabalho para NDepend