Share via


IEEVisualizerDataProvider

Importante

No Visual Studio 2015, essa maneira de implementar avaliadores de expressão foi preterida. Para obter informações sobre como implementar avaliadores de expressão CLR, consulte Avaliadores de expressão CLR e Amostra de avaliador de expressão gerenciada.

Essa interface fornece a capacidade de alterar o valor de um objeto por meio de um visualizador de tipo.

Sintaxe

IEEVisualizerDataProvider : IUnknown

Notas para implementadores

O avaliador de expressão implementa essa interface para oferecer suporte à modificação de dados em um objeto de propriedade por meio de um visualizador de tipo.

Observações para chamadores

Essa interface é usada na criação do objeto IEEVisualizerService por meio de uma chamada para CreateVisualizerService. Consulte Visualizando e exibindo dados para obter mais detalhes.

Métodos em ordem Vtable

Método Descrição
CanSetObjectForVisualizer Determina se é possível atualizar o objeto (e, posteriormente, seu valor) que esse visualizador está representando.
GetNewObjectForVisualizer Força uma reavaliação do objeto para este visualizador.
GetObjectForVisualizer Obtém um objeto existente para esse visualizador (nenhuma avaliação é feita).
SetObjectForVisualizer Atualiza o objeto para esse visualizador, alterando assim o valor que o visualizador apresenta.

Comentários

O serviço de visualizador (conforme representado pela interface IEEVisualizerService e retornado por CreateVisualizerService) mantém uma referência ao objeto que implementa a IEEVisualizerDataProvider interface. Como resultado, a IEEVisualizerDataProvider interface não deve ser implementada no mesmo objeto que implementa IDebugProperty2 se esse objeto mantiver uma referência ao IEEVisualizerService objeto: uma referência circular resulta e um deadlock ocorre quando os objetos são destruídos. A abordagem recomendada é implementar IEEVisualizerDataProvider em um objeto separado ao qual o IDebugProperty2 objeto delega sem chamá-lo IUnknown::AddRef .

Requisitos

Cabeçalho: ee.h

Espaço para nome: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Confira também