Para completar la respuesta del stusmith, NDepend parece ser lo que está buscando. NDepen permite escribir consultas y reglas de código sobre las consultas LINQ, (lo que llamamos CQLinq). responsabilidad: yo soy uno de los desarrolladores de la herramienta
Por ejemplo, aquí están algunas consultas CQLinq:
- Clases> lista cuyo nombre comience por x
from t in Application.Types.WithNameLike("^x")
where t.IsClass select t
-> lista de todos los subclases de x
from t in Application.Types
where t.DeriveFrom("MyNamespace.MyTypeX")
select t
- métodos> lista que instanciar un objeto de clase x
from m in Application.Methods
where m.CreateA("MyNamespace.MyTypeX")
select m
-> enumerar los métodos que llaman al método y - ...
from m in Application.Methods
where m.IsUsing("MyNamespace.MyType.MyMethodY()")
select m
Más de 200 code rules son propuestos por defecto. La personalización de las reglas existentes o la creación de sus propias reglas es sencilla gracias a la conocida sintaxis C# LINQ.
consultas CQLinq se pueden editar en vivo en VisualStudio, y ofrecen resultados instantáneos, con funciones de consulta:

En realidad, CQLinq se basa en NDepend.API, y más específicamente en los tipos en el espacio de nombres NDepend.CodeModel. Con NDepend.API puedes escribir programas para hacer cosas más complicadas solo con consultas CQLinq, por ejemplo, escribimos un Code Duplicate Finder tool con NDepend.API.
Las reglas se pueden verificar live in Visual Studio y en el tiempo de proceso de compilación, en un generated HTML+javascript report.
A menos que, @monkeyget esté buscando el código fuente. Entonces probablemente querrán un analizador. – kenny
O un compilador :). Sí, eché de menos que dijo "código fuente". Supongo que NDepend y algunos de los complementos IDE podrían ser de ayuda en ese momento. ¡Lo siento! – MichaelGG
System.Reflection es de hecho una opción que examinaré pero parece limitada y estoy seguro de que debe haber herramientas más potentes y simples para lo que quiero hacer. Mencioné el código fuente en la pregunta, pero una herramienta que trabaje en IL estaría bien también. – Monkeyget