Compartir a través de


VisualizerObjectSource Clase

Definición

Proporciona acceso al objeto que se está visualizando.
Subclase esta clase para proporcionar funcionalidad personalizada.

public ref class VisualizerObjectSource
[Windows::Foundation::Metadata::WebHostHidden]
class VisualizerObjectSource
public class VisualizerObjectSource
type VisualizerObjectSource = class
Public Class VisualizerObjectSource
Herencia
VisualizerObjectSource

Ejemplos

[assembly: System.Diagnostics.DebuggerVisualizer(  
   typeof(MyFirstVisualizer.DebuggerSide),  
   // The object source is specified on the next line <<<<<  
   typeof(VisualizerObjectSource),  
   Target = typeof(System.String),  
   Description = "My First Visualizer")]  

Comentarios

Un visualizador es un pequeño programa que el depurador de Visual Studio usa para mostrar (visualizar) un objeto de un tipo de datos específico de forma significativa. Para visualizar un objeto, un visualizador usa código que se ejecuta en el proceso del depurador (el lado del depurador) y el código del proceso que se está depurando (el lado depurado).

El lado depurador y el lado depurador se comunican entre sí mediante VisualizerObjectSource y IVisualizerObjectProvider.

El lado de desbugee usa DebuggerVisualizerAttribute para especificar un objeto VisualizerObjectSource para el lado del depurador. El lado del depurador tiene acceso a él indirectamente a través de la IVisualizerObjectProvider interfaz .

Constructores

VisualizerObjectSource()

Proporciona acceso al objeto que se está visualizando.
Subclase esta clase para proporcionar funcionalidad personalizada.

Propiedades

IsBinaryFormatterSupported

Devuelve true si el proceso depurado donde se hospeda el visualizador admite la clase Binary Formatter. Si no es así, las clases que derivan de esta clase deben serializar sus objetos a través de JSON.

SelectedFormatterPolicy

Directiva de formato que esta clase pretende usar al serializar o deserializar información. Sin embargo, el depurador puede invalidarla en escenarios en los que no se admite la directiva de formato elegida.

Métodos

CreateReplacementObject(Object, Stream)

Crea y devuelve un objeto de reemplazo para el objeto pasado en función de los datos serializados.

Deserialize(Stream)
Obsoletos.

Método auxiliar heredado usado por los visualizadores antiguos que facilitan la escritura de código de serialización. Usa la serialización binaria predeterminada para leer el objeto especificado de la secuencia. Sin embargo, debido a vulnerabilidades de seguridad con su uso, ya no debe usarse y se iniciará en versiones más recientes de .NET como ASP.NET Core 5.0.

Si se llama a en una aplicación de destino que admite serialización binaria, después de que el método finalice el puntero de lectura de secuencia está avanzado más allá de los bytes del objeto.

DeserializeFromJson(Stream, Type, Object)

Deserializa los datos en formato JSON de la secuencia especificada en un objeto de un tipo específico mediante la biblioteca Newtonsoft.Json.

DeserializeFromJson<T>(Stream, Object)

Deserializa los datos en formato JSON de la secuencia especificada en un objeto de un tipo específico mediante la biblioteca Newtonsoft.Json.

GetData(Object, Stream)

Obtiene un blob de datos. Escribe datos del objeto en la secuencia de memoria.

GetDeserializableObject(Stream)

Método auxiliar que se puede usar para obtener un objeto deserializable en los casos en los que la aplicación de destino podría no admitir serialización binaria. En estos casos, el formato subyacente se debe serializar mediante JSON, por lo que los autores de llamadas pueden consultar propiedades individuales para determinar el tipo del objeto que desean deserializar.

Serialize(Stream, Object)

Serializa el objeto especificado en una secuencia.

De forma predeterminada, los objetos se serializarán mediante la serialización binaria mediante BinaryFormatter. Sin embargo, si la aplicación de destino no admite la serialización binaria (como en el caso de ASP.NET Core aplicaciones 5.0 o posteriores), el método serializará el objeto con cualquier tecnología de serialización JSON disponible.

La serialización binaria no se admite en visualizadores fuera de proceso. Por lo tanto, este método siempre los serializará mediante la biblioteca Newtonsoft.Json.

SerializeAsJson(Stream, Object, Object)

Serializa el objeto especificado como JSON en una secuencia mediante la biblioteca Newtonsoft.Json.

TransferData(Object, Stream, Stream)

Se invoca cuando el tipo de visualizador del lado de la interfaz de usuario llama a IVisualizerObjectProvider.TransferData(Stream) o IVisualizerObjectProvider.TransferObject(object).

Este método se puede usar para definir un protocolo de paso de mensajes personalizado para comunicarse entre los tipos de visualizador del lado de la interfaz de usuario y del lado depurado, o para invocar acciones personalizadas en el tipo de visualizador del lado depurado. El tipo de visualizador del lado de la interfaz de usuario puede pasar datos arbitrarios serializados en incomingData y el tipo de visualizador del lado depurado puede responder con datos arbitrarios serializados en outgoingData.

Se aplica a