Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 Beispiel für verwaltete Ausdrucksauswerter.
Ein Ansatz zum schnellen Erstellen eines Ausdrucksvaluators (EE) besteht darin, zuerst den minimalen Code zu implementieren, der zum Anzeigen lokaler Variablen im Lokalen Fenster erforderlich ist. Es ist nützlich zu erkennen, dass jede Zeile im Fenster "Lokal" den Namen, typ und Wert einer lokalen Variablen anzeigt und dass alle drei durch ein IDebugProperty2-Objekt dargestellt werden. Der Name, Typ und Wert einer lokalen Variablen wird von einem IDebugProperty2 Objekt abgerufen, indem die GetPropertyInfo-Methode aufgerufen wird. Weitere Informationen zum Anzeigen lokaler Variablen im Fenster "Lokal" finden Sie unter "Anzeigen von Lokalen".
Diskussion (Discussion)
Eine mögliche Implementierungssequenz beginnt mit der Implementierung von IDebugExpressionEvaluator. Die Methoden Parse und GetMethodProperty müssen implementiert werden, um Lokale anzuzeigen. Durch Aufrufen IDebugExpressionEvaluator::GetMethodProperty wird ein IDebugProperty2 Objekt zurückgegeben, das eine Methode darstellt: d. h. ein IDebugMethodField -Objekt. Methoden selbst werden im Fenster "Lokal" nicht angezeigt.
Die EnumChildren-Methode sollte als Nächstes implementiert werden. Das Debugmodul (DE) ruft diese Methode auf, um eine Liste der lokalen Variablen und Argumente abzurufen, indem ein IDebugProperty2::EnumChildren-Argument als guidFilter übergeben guidFilterLocalsPlusArgs wird.
IDebugProperty2::EnumChildren ruft EnumArguments und EnumLocals auf, wobei die Ergebnisse in einer einzelnen Enumeration kombiniert werden. Weitere Details finden Sie unter "Lokal anzeigen ".