Condividi tramite


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

Vedi anche