2012-08-05 5 views

Respuesta

10

Necesitará analizar su código para hacer esto. No creo que puedas hacerlo con reflexión. MS ha estado trabajando en un proyecto llamado Roslyn. Esto es una especie de API para el compilador .NET. Debe proporcionarle lo que necesita. Consulte la publicación this para obtener detalles del proyecto Roslyn.

Cita en el mensaje:

Esto abre nuevas oportunidades para los extensores de VS para escribir potentes refactorizaciones y herramientas de análisis del lenguaje, así como permitir que cualquiera pueda incorporar nuestros programas de análisis, motores semánticos, generadores de código y secuencias de comandos en sus propias aplicaciones.

This post demuestra que se trabaja con símbolos.
This post responde a la pregunta de obtener todas las referencias.

4

Para ser sincero, nunca lo hice antes, ya que nunca necesité algo. Para acceder al tipo de información necesita tener acceso a Token Tree del compilador, construido para semantic analysis.

Ese tipo de información, con seguridad puede tener acceso desde Roslyn (API para el compilador de C#). Donde puede insertar en la función API un texto C#, ejecute un compilador sobre él y recupere Tokens tree.

The Roslyn Project Overview

Espero que esto ayude.

0

Por lo que yo sé, no hay forma de encontrar todos los usos en todos los proyectos en su solución. Si su clase tiene un nombre único, la función de búsqueda de Visual Studio tiene un alcance de búsqueda "Solución completa", que busca el texto de búsqueda exacto en cada archivo en su solución.

Esto no se encuentra específicamente cada vez que se utiliza su método, ya que también coincide con los comentarios, campos con nombres similares, cualquier cosa con la misma cadena, pero es un buen comienzo.

Cuestiones relacionadas