Implementar visualizadores de tipo e visualizadores personalizados

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 Exemplo de avaliador de expressão gerenciada.

Os visualizadores de tipo e visualizadores personalizados permitem que um usuário exiba dados de um tipo específico de uma maneira mais significativa do que um simples despejo hexadecimal de números. Um avaliador de expressão (EE) pode associar visualizadores personalizados a tipos específicos de dados ou variáveis. Esses visualizadores personalizados são implementados pelo EE. O EE também pode suportar visualizadores de tipo externos, que podem vir de outro fornecedor de terceiros ou até mesmo do usuário final.

Discussão

Visualizadores de tipo

O Visual Studio solicita uma lista de visualizadores de tipo e visualizadores personalizados para cada objeto a ser exibido em uma janela de observação. Um avaliador de expressão (EE) fornece essa lista para cada tipo para o qual deseja oferecer suporte a visualizadores de tipo e visualizadores personalizados. As chamadas para GetCustomViewerCount e GetCustomViewerList iniciam todo o processo de acesso a visualizadores de tipo e visualizadores personalizados (consulte Visualizando e exibindo dados para obter detalhes sobre a sequência de chamadas).

Visualizadores personalizados

Os visualizadores personalizados são implementados no EE para um tipo de dados específico e são representados pela interface IDebugCustomViewer . Um visualizador personalizado não é tão flexível quanto um visualizador de tipo, pois está disponível somente quando o EE que implementa esse visualizador personalizado específico está em execução. Implementar um visualizador personalizado é mais simples do que implementar o suporte para visualizadores de tipo. No entanto, o suporte a visualizadores de tipo oferece flexibilidade máxima ao usuário final para visualizar seus dados. O restante dessa discussão diz respeito apenas aos visualizadores de tipo.

Interfaces

O EE implementa as seguintes interfaces para oferecer suporte a visualizadores de tipo, a serem consumidos pelo Visual Studio: