IEEVisualizerDataProvider
Importante
In Visual Studio 2015 questo modo di implementare gli analizzatori di espressioni è deprecato. Per informazioni sull'implementazione degli analizzatori di espressioni CLR, vedere l'esempio di analizzatori di espressioni CLR e dell'analizzatore di espressioni gestite.
Questa interfaccia consente di modificare il valore di un oggetto tramite un visualizzatore di tipi.
Sintassi
IEEVisualizerDataProvider : IUnknown
Note per gli implementatori
L'analizzatore di espressioni implementa questa interfaccia per supportare la modifica dei dati in un oggetto proprietà tramite un visualizzatore di tipi.
Note per i chiamanti
Questa interfaccia viene usata per creare l'oggetto I edizione Enterprise VisualizerService tramite una chiamata a CreateVisualizerService. Per altri dettagli, vedere Visualizzazione e visualizzazione dei dati .
Metodi nell'ordine della tabella Vtable
metodo | Descrizione |
---|---|
CanSetObjectForVisualizer | Determina se è possibile aggiornare l'oggetto (e successivamente il relativo valore) rappresentato dal visualizzatore. |
GetNewObjectForVisualizer | Forza una rivalutazione dell'oggetto per questo visualizzatore. |
GetObjectForVisualizer | Ottiene un oggetto esistente per questo visualizzatore (non viene eseguita alcuna valutazione). |
SetObjectForVisualizer | Aggiornamenti l'oggetto per questo visualizzatore, modificando così il valore presentato dal visualizzatore. |
Osservazioni:
Il servizio del visualizzatore(rappresentato dall'interfaccia I edizione Enterprise VisualizerService e restituito da CreateVisualizerService) mantiene un riferimento all'oggetto che implementa l'interfacciaIEEVisualizerDataProvider
. Di conseguenza, l'interfaccia IEEVisualizerDataProvider
non deve essere implementata nello stesso oggetto che implementa IDebugProperty2 se tale oggetto mantiene un riferimento all'oggettoIEEVisualizerService
: un riferimento circolare restituisce risultati e un deadlock si verifica quando gli oggetti vengono eliminati definitivamente. L'approccio consigliato consiste nell'implementare IEEVisualizerDataProvider
in un oggetto separato a cui delega l'oggetto IDebugProperty2
senza chiamarlo IUnknown::AddRef
.
Requisiti
Intestazione: ee.h
Spazio dei nomi: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll