IVisualizerObjectProvider3 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.
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. |