IVisualizerObjectProvider Interface

Definição

Fornece dados de objeto do depurador para o visualizador.

public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
Derivado

Exemplos

public class DebuggerSide : DialogDebuggerVisualizer  
{  
    override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
         MessageBox.Show(objectProvider.GetObject<object>().ToString());
    }
    // . . . Other methods omitted for clarity.  
}

Comentários

Um visualizador é um pequeno programa que o depurador do Visual Studio usa para exibir (visualizar) um objeto de um tipo de dados específico de maneira significativa. Para visualizar um objeto, um visualizador usa o código que é executado no processo do depurador (o lado do depurador) e o código no processo que está sendo depurado (o lado do depurador).

O lado do depurador e o lado do depurador se comunicam entre si usando VisualizerObjectSource e IVisualizerObjectProvider.

O lado de depuração usa VisualizerObjectSource para especificar um VisualizerObjectSource objeto para o lado do depurador. O lado do depurador solicita e recebe essas informações chamando métodos na IVisualizerObjectProvider interface .

Um visualizador pode editar, bem como exibir, dados. Se o visualizador der suporte à edição de dados, você deverá substituir os dados inteiramente chamando ReplaceData(Stream) ou ReplaceObject(Object) ou transferindo dados de volta para o depurador usando TransferData(Stream) ou TransferObject(Object). Se você quiser salvar dados de volta, também precisará criar sua própria fonte de objeto.

Propriedades

IsBinaryFormatterSupported

Especifica se o depurador dá suporte ao BinaryFormatter desde que foi preterido no .NET 5. Se isso não acontecer, o provedor usará mais JSON para se comunicar com o visualizador.

IsObjectReplaceable

Especifica se um objeto de substituição pode ser criado. Ou seja, determina se o objeto de dados que está sendo visualizado é substituível (leitura/gravação) ou não insubstituível (somente leitura).

Métodos

GetData()

Obtém um blob inicial de dados sobre o objeto que está sendo depurado. Os dados são gravados no MemoryStream fornecido.

GetObject()
Obsoleto.

Obtém os dados usando GetData e desserializa supondo que a serialização padrão tenha sido feita

ReplaceData(Stream)

Cria uma cópia de substituição do objeto com base nos dados serializados fornecidos.

ReplaceObject(Object)

Serializa o objeto usando a serialização padrão e define os dados usando ReplaceData

TransferData(Stream)

Transfere os dados bidirecionalmente para o método TransferData no VisualizerObjectSource

TransferObject(Object)
Obsoleto.

Serializa o objeto de saída usando a serialização padrão e, em seguida, chama TransferData. Após o retorno, desserializa os dados de entrada e retorna o objeto desserializado

Aplica-se a