IVisualizerObjectProvider Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |