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