Freigeben über


Schnittstellen für Schlüsselexpressionsevaluatoren

Von Bedeutung

In Visual Studio 2015 ist diese Methode der Implementierung von Ausdrucksvaluatoren veraltet. Informationen zur Implementierung von CLR-Ausdrucksauswertern finden Sie unter CLR-Ausdrucksauswerter und im Beispiel für einen verwalteten Ausdrucksauswerter.

Wenn Sie einen Ausdrucksauswerter (EE) zusammen mit dem Auswertungskontext schreiben, sollten Sie mit den folgenden Schnittstellen vertraut sein.

Schnittstellenbeschreibungen

  • IDebugAddress

    Verfügt über eine einzelne Methode, GetAddress, die eine Datenstruktur abruft, die den aktuellen Ausführungspunkt darstellt. Diese Datenstruktur ist eines der drei Argumente, die das Debugmodul (DE) an die EvaluateSync-Methode übergibt, um einen Ausdruck auszuwerten. Diese Schnittstelle wird in der Regel vom Symbolanbieter implementiert.

  • IDebugBinder

    Verfügt über die Bind-Methode , die den Speicherbereich abruft, der den aktuellen Wert eines Symbols enthält. Da sowohl die enthaltende Methode, dargestellt durch ein IDebugObject-Objekt , als auch das Symbol selbst, dargestellt durch ein IDebugField-Objekt , IDebugBinder::Bind den Wert des Symbols zurückgibt. IDebugBinder wird in der Regel von der DE implementiert.

  • IDebugField

    Stellt einen einfachen Datentyp dar. Verwenden Sie für komplexere Typen wie Arrays und Methoden die abgeleiteten IDebugArrayField - bzw. IDebugMethodField-Schnittstellen . IDebugContainerField ist eine weitere wichtige abgeleitete Schnittstelle, die Symbole darstellt, die andere Symbole enthalten, z. B. Methoden oder Klassen. Die IDebugField Schnittstelle (und deren Ableitungen) wird in der Regel vom Symbolanbieter implementiert.

    Ein IDebugField Objekt kann verwendet werden, um den Namen und typ eines Symbols zu finden, und zusammen mit einem IDebugBinder-Objekt kann verwendet werden, um seinen Wert zu finden.

  • IDebugObject

    Stellt die tatsächlichen Bits des Laufzeitwerts eines Symbols dar. Bind akzeptiert ein IDebugField -Objekt, das ein Symbol darstellt, und gibt ein IDebugObject -Objekt zurück. Die GetValue-Methode gibt den Wert des Symbols in einem Speicherpuffer zurück. Eine DE implementiert diese Schnittstelle in der Regel, um den Wert einer Eigenschaft im Arbeitsspeicher darzustellen.

  • IDebugExpressionEvaluator

    Diese Schnittstelle stellt den Ausdrucksauswerter dar. Die Schlüsselmethode ist Parse, die eine IDebugParsedExpression-Schnittstelle zurückgibt.

  • IDebugParsedExpression

    Diese Schnittstelle stellt einen analysierten Ausdruck dar, der ausgewertet werden kann. Die Schlüsselmethode ist EvaluateSync , die einen IDebugProperty2 zurückgibt, der den Wert und typ des Ausdrucks darstellt.

  • IDebugProperty2

    Diese Schnittstelle stellt einen Wert und seinen Typ dar und ist das Ergebnis einer Ausdrucksauswertung.

Siehe auch