Identificar símbolos em uma biblioteca
As ferramentas de navegação de símbolos exibem exibições hierárquicas de símbolos. Os símbolos representam namespaces, objetos, classes, membros de classe e outros elementos de linguagem.
Cada símbolo na hierarquia pode ser identificado pelas informações de navegação passadas pela biblioteca de símbolos para o gerenciador de objetos do Visual Studio por meio das seguintes interfaces:
A localização do símbolo na hierarquia distingue um símbolo. Ele permite que as ferramentas de navegação de símbolos naveguem até um símbolo específico. O caminho exclusivo e totalmente qualificado para o símbolo determina o local. Cada elemento no caminho é um nó. O caminho começa com o nó de nível superior e termina com o símbolo específico. Por exemplo, se o método M1 for um membro da classe C1 e C1 estiver no namespace N1, o caminho completo do método M1 será N1. C1º. M1. Esse caminho contém três nós: N1, C1 e M1.
As informações de navegação permitem que o gerenciador de objetos do Visual Studio localize, selecione e mantenha selecionados os símbolos na hierarquia. Permite navegar de uma ferramenta de navegação para outra. Ao usar o Pesquisador de objetos para procurar símbolos em um projeto do Visual C++, você pode clicar com o botão direito do mouse em um método e iniciar a ferramenta Navegador de chamadas para exibir o método em um gráfico de chamadas.
Duas formas descrevem a localização do símbolo. A forma canônica é baseada no caminho totalmente qualificado do símbolo. Ele representa uma posição única do símbolo na hierarquia. É independente da ferramenta de navegação de símbolos. Para obter as informações de formulário canônico, o gerenciador de objetos do Visual Studio chama EnumCanonicalNodes método. O formulário de apresentação descreve o local do símbolo dentro de uma ferramenta de navegação de símbolos específica. A posição do símbolo é relativa à posição de outros símbolos na hierarquia. Um determinado símbolo pode ter vários caminhos de apresentação, mas apenas um caminho canônico. Por exemplo, se a classe C1 for herdada da classe C2 e ambas as classes estiverem no namespace N1, o Pesquisador de Objetos exibirá a seguinte árvore hierárquica:
N1
C1
Bases and Interfaces
C2
C2
Bases and Interfaces
. . . . . . . . . . .
O caminho canônico da classe C2, neste exemplo, é N1 + C2. O caminho de apresentação do C2 inclui os nós C1 e "Bases e Interfaces": N1 + C1 + "Bases e Interfaces" + C2.
Para obter as informações do formulário de apresentação, o gerenciador de objetos chama EnumPresentationNodes o método.
Para obter informações canônicas e de formulários de apresentação
Implementar o método de EnumCanonicalNodes .
O gerenciador de objetos chama esse método para obter a lista de nós contidos no caminho canônico do símbolo.
Implementar o método de EnumPresentationNodes .
O gerenciador de objetos chama esse método para obter a lista de nós contidos no caminho de apresentação do símbolo.