IEEVisualizerDataProvider
Wichtig
Seit Visual Studio 2015 ist diese Art der Implementierung von Ausdrucksauswertungen veraltet. Informationen zum Implementieren von CLR-Ausdrucksauswertern finden Sie unter CLR Expression Evaluators and Managed Expression Evaluator Sample.For information about implementing CLR expression evaluators, please see CLR Expression Evaluator Sample.
Diese Schnittstelle bietet die Möglichkeit, den Wert eines Objekts durch eine Typschnellansicht zu ändern.
Syntax
IEEVisualizerDataProvider : IUnknown
Hinweise für Implementierer
Der Ausdrucksauswerter implementiert diese Schnittstelle, um das Ändern von Daten für ein Eigenschaftsobjekt über eine Typschnellansicht zu unterstützen.
Hinweise für Aufrufer
Diese Schnittstelle wird zum Erstellen des IEEVisualizerService -Objekts über einen Aufruf von CreateVisualizerService verwendet. Weitere Details finden Sie unter "Visualisieren und Anzeigen von Daten ".
Methoden in Vtable-Reihenfolge
Methode | Beschreibung |
---|---|
CanSetObjectForVisualizer | Bestimmt, ob es möglich ist, das Objekt (und anschließend dessen Wert) zu aktualisieren, den dieser Visualizer darstellt. |
GetNewObjectForVisualizer | Erzwingt eine erneute Auswertung des Objekts für diese Visualisierung. |
GetObjectForVisualizer | Ruft ein vorhandenes Objekt für diese Visualisierung ab (keine Auswertung erfolgt). |
SetObjectForVisualizer | Aktualisiert das Objekt für diese Visualisierung, wodurch der Wert geändert wird, den die Visualisierung darstellt. |
Hinweise
Der Visualizerdienst (wie durch die IEEVisualizerService-Schnittstelle dargestellt und von CreateVisualizerService zurückgegeben) behält einen Verweis auf das Objekt bei, das die IEEVisualizerDataProvider
Schnittstelle implementiert. Daher sollte die IEEVisualizerDataProvider
Schnittstelle nicht für dasselbe Objekt implementiert werden, das das IDebugProperty2 implementiert, wenn dieses Objekt einen Verweis auf das IEEVisualizerService
Objekt Standard enthält: ein Zirkelbezugsergebnis und ein Deadlock tritt auf, wenn die Objekte zerstört werden. Der empfohlene Ansatz besteht darin, ein separates Objekt zu implementieren IEEVisualizerDataProvider
, für das das Objekt delegiert IDebugProperty2
wird, ohne es aufzurufen IUnknown::AddRef
.
Anforderungen
Kopfzeile: ee.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll