Identifikace symbolů v knihovně
Nástroje pro procházení symbolů zobrazují hierarchické zobrazení symbolů. Symboly představují obory názvů, objekty, třídy, členy třídy a další prvky jazyka.
Každý symbol v hierarchii lze identifikovat navigačními informacemi předávanými knihovnou symbolů správci objektů sady Visual Studio pomocí následujících rozhraní:
Umístění symbolu v hierarchii rozlišuje symbol. Umožňuje nástrojům pro procházení symbolů přejít na konkrétní symbol. Jedinečná plně kvalifikovaná cesta k symbolu určuje umístění. Každý prvek v cestě je uzel. Cesta začíná uzlem nejvyšší úrovně a končí konkrétním symbolem. Pokud je například metoda M1 členem třídy C1 a C1 je v oboru názvů N1, úplná cesta metody M1 je N1. C1. M1. Tato cesta obsahuje tři uzly: N1, C1 a M1.
Navigační informace umožňují správci objektů sady Visual Studio vyhledat, vybrat a ponechat vybrané symboly v hierarchii. Umožňuje navigaci z jednoho nástroje pro procházení do jiného. Při procházení symbolů v projektu Visual C++ pomocí prohlížeče objektů můžete kliknout pravým tlačítkem myši na metodu a spustit nástroj Prohlížeč volání, který zobrazí metodu v grafu volání.
Dvě formy popisují umístění symbolu. Kanonický formulář je založen na plně kvalifikované cestě symbolu. Představuje jedinečnou pozici symbolu v hierarchii. Je nezávislý na nástroji pro procházení symbolů. Chcete-li získat informace o kanonickém formuláři, správce objektů sady Visual Studio volá EnumCanonicalNodes metodu. Formulář prezentace popisuje umístění symbolu v konkrétním nástroji pro procházení symbolů. Pozice symbolu je relativní vzhledem k pozici jiných symbolů v hierarchii. Daný symbol může mít několik cest prezentace, ale pouze jednu kanonickou cestu. Pokud je například třída C1 zděděna z třídy C2 a obě třídy jsou v oboru názvů N1, zobrazí prohlížeč objektů následující hierarchický strom:
N1
C1
Bases and Interfaces
C2
C2
Bases and Interfaces
. . . . . . . . . . .
Kanonická cesta třídy C2 v tomto příkladu je N1 + C2. Cesta prezentace C2 zahrnuje uzly C1 a Bází a rozhraní: N1 + C1 + "Básně a rozhraní" + C2.
Chcete-li získat informace o formuláři prezentace, správce objektů volá EnumPresentationNodes metodu.
Získání informací o kanonických a prezentačních formulářích
Implementujte metodu EnumCanonicalNodes .
Správce objektů volá tuto metodu k získání seznamu uzlů obsažených v kanonické cestě symbolu.
Implementujte metodu EnumPresentationNodes .
Správce objektů volá tuto metodu k získání seznamu uzlů obsažených v cestě prezentace symbolu.