Freigeben über


CodeEvent.InfoLocation-Eigenschaft

Ruft die Funktionen des Codemodells ab.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
ReadOnly Property InfoLocation As vsCMInfoLocation
vsCMInfoLocation InfoLocation { get; }
property vsCMInfoLocation InfoLocation {
    vsCMInfoLocation get ();
}
abstract InfoLocation : vsCMInfoLocation
function get InfoLocation () : vsCMInfoLocation

Eigenschaftswert

Typ: EnvDTE.vsCMInfoLocation
Einer der vsCMInfoLocation-Werte.

Hinweise

Wenn InfoLocation den Wert vsCMInfoLocationProject zurückgibt, können Sie Eigenschaften festlegen, StartPoint und EndPoint abrufen usw.Wenn Sie von einem Codemodellobjekt (A) zu einem anderen (B) wechseln, z. B. von einer Funktion zu deren Typ oder von einer Klasse zu deren Basisklasse, kann B vom Typ vsCMInfoLocationExternal sein, wenn sich die zugehörige Definition in einem anderen Projekt befindet.Die Disposition hängt von der Implementierung des Codemodells ab, sowie davon, ob das Projekt von Objekt B in derselben Sprache implementiert ist wie das von Objekt A usw.

Wenn InfoLocation den Wert vsCMInfoLocationExternal zurückgibt, sind Informationen nur über Metadaten, durch Prüfen einer DLL oder aus eingefrorenen Quellen verfügbar.Eventuell lässt sich ein StartPoint und ein EditPoint abrufen. Das Dokument kann jedoch nicht bearbeitet werden, d. h., Sie können keine Eigenschaften festlegen und den Text hinter dem Codeelement nicht ändern.

Wenn InfoLocation den Wert vsCMInfoLocationNone zurückgibt, ist lediglich ein Codemodellobjekt mit einem Namen verfügbar.Je nach Kontext des Quellcodes können Sie in einigen Fällen erkennen, ob es sich bei dem Namen um eine Klasse oder eine Schnittstelle handelt.In diesem Fall ist das Objekt jedoch anderweitig nicht verwendbar, da das Codemodell den Namen nicht in nützliche Informationen auflösen konnte.

HinweisHinweis

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben.Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die InfoLocation-Eigenschaft verwendet wird.

So testen Sie diese Eigenschaft

  1. Öffnen Sie das Zielprojekt, und wählen Sie das Codeereigniselement aus, indem Sie den Cursor auf das Ereignisobjekt setzen.

  2. Führen Sie das Add-In aus.

public static void InfoLocation(EnvDTE80.DTE2 dte)
{
    TextSelection objTextSel;
    EnvDTE80.CodeEvent codeEvent;
    objTextSel = (TextSelection)dte.ActiveDocument.Selection;
    codeEvent = (EnvDTE80.CodeEvent)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementEvent);

    MessageBox.Show("\nInfoLocation property: " +
                    codeEvent.InfoLocation, "Testing CodeEvent");
}

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeEvent Schnittstelle

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)