Compartilhar via


IVisualizerObjectProvider3 Interface

Definição

Permite que os componentes do lado do depurador e do depurador coordenem em qual mecanismo de serialização usar e fornece funcionalidade adicional para passar dados para o lado de depuração levando em conta o SelectedFormatterPolicy.

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

Propriedades

IsBinaryFormatterSupported

Especifica se o depurador dá suporte ao BinaryFormatter desde que foi preterido no .NET 5. Se isso não acontecer, o provedor mais usará 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)
SelectedFormatterPolicy

A política de formato que essa classe usará ao serializar/desserializar informações.

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 termina o fluxo é lido e retornamos o objeto subjacente.

(Herdado de IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

Desserializa os dados no formato Newtonsoft.Json do fluxo especificado para um objeto de um tipo específico.

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.

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

(Herdado de IVisualizerObjectProvider2)
GetObject()
Obsoleto.

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

(Herdado de IVisualizerObjectProvider)
GetObject<T>()

Obtém os dados usando GetData() e tenta desserializá-los para o tipo especificado.

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, em seguida, 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.

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

(Herdado de IVisualizerObjectProvider2)
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)
TransferObject<T>(Object)

Serializa o objeto de saída usando o SelectedFormatterPolicy e, em seguida, chama TransferData(Stream). Ao retornar, ele tenta desserializar os dados de entrada e retorna o objeto do tipo especificado.

Aplica-se a