Compartilhar via


IVisualizerObjectProvider2 Interface

Definição

Fornece funcionalidade adicional para passar dados do depurador para o visualizador.

public interface class IVisualizerObjectProvider2 : Microsoft::VisualStudio::DebuggerVisualizers::IVisualizerObjectProvider
public interface IVisualizerObjectProvider2 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider
type IVisualizerObjectProvider2 = interface
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider2
Implements IVisualizerObjectProvider
Derivado
Implementações

Comentários

O IVisualizerObjectProvider objeto passado para DialogDebuggerVisualizero método do Show(IDialogVisualizerService, IVisualizerObjectProvider) VS 16.10 em diante é desse tipo, portanto, você deve convertê-lo para usar essa nova funcionalidade.

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.

(Herdado de IVisualizerObjectProvider)
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).

(Herdado de IVisualizerObjectProvider)

Métodos

Deserialize(Stream)
Obsoleto.

Método auxiliar herdado usado por visualizadores antigos que facilita a gravação de código de desserialização. Ele usa a serialização binária padrão para ler o objeto fornecido do fluxo. No entanto, devido a vulnerabilidades de segurança com seu uso, ele não deve mais ser usado e será lançado em versões mais recentes do .NET, como ASP.NET Core 5.0.

Se chamado em um aplicativo de destino que dá suporte à Serialização Binária, depois que o método terminar, o fluxo será lido e retornaremos o objeto subjacente.

GetData()

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

(Herdado de IVisualizerObjectProvider)
GetDeserializableObject()

Obtém os dados usando GetData e retorna um IDeserializableObject para que o chamador possa desserializar com JSON se não houver suporte para serialização padrão.

GetDeserializableObjectFrom(Stream)

Método auxiliar que pode ser usado para obter um objeto desserializável para casos em que o aplicativo de destino pode não dar suporte à Serialização Binária. Nesses casos, o formato subjacente deve ser serializado usando JSON, para que os chamadores possam consultar propriedades individuais para determinar o tipo do objeto que desejam desserializar.

GetObject()
Obsoleto.

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

(Herdado de IVisualizerObjectProvider)
ReplaceData(Stream)

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

(Herdado de IVisualizerObjectProvider)
ReplaceObject(Object)

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

(Herdado de IVisualizerObjectProvider)
Serialize(Object, Stream)

Método auxiliar que facilita a gravação de código de serialização.

Se o aplicativo de destino der suporte à Serialização Binária, ele serializará o objeto no fluxo com a ajuda da classe BinaryFormatter. Se não houver suporte para isso, que é o caso em versões mais recentes do .NET, o padrão é serializar o objeto no formato JSON.

TransferData(Stream)

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

(Herdado de IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serializa o objeto de saída usando como um IDeserializableObject e, em seguida, chama TransferData. Após o retorno, desserializa os dados de entrada e retorna o objeto encapsulado em um IDeserializableObject.

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

(Herdado de IVisualizerObjectProvider)

Aplica-se a