Partager via


VisualizerObjectSource Classe

Définition

Fournit l’accès à l’objet en cours de visualisation.
Sous-classez cette classe pour fournir des fonctionnalités personnalisées.

public ref class VisualizerObjectSource
[Windows::Foundation::Metadata::WebHostHidden]
class VisualizerObjectSource
public class VisualizerObjectSource
type VisualizerObjectSource = class
Public Class VisualizerObjectSource
Héritage
VisualizerObjectSource

Exemples

[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")]  

Remarques

Un visualiseur est un petit programme que le débogueur Visual Studio utilise pour afficher (visualiser) un objet d’un type de données spécifique de manière significative. Pour visualiser un objet, un visualiseur utilise du code qui s’exécute dans le processus de débogueur ( côté débogueur) et du code dans le processus en cours de débogage ( côté débogueur).

Le côté débogueur et le côté débogueur communiquent entre eux à l’aide de VisualizerObjectSource et IVisualizerObjectProvider.

Le côté débogage utilise le DebuggerVisualizerAttribute pour spécifier un objet VisualizerObjectSource pour le côté débogueur. Le côté débogueur y a accès indirectement via l’interface IVisualizerObjectProvider .

Constructeurs

VisualizerObjectSource()

Fournit l’accès à l’objet en cours de visualisation.
Sous-classez cette classe pour fournir des fonctionnalités personnalisées.

Propriétés

IsBinaryFormatterSupported

Retourne true si le processus de débogage dans lequel le visualiseur est hébergé prend en charge la classe Binary Formatter. Si ce n’est pas le cas, les classes qui dérivent de cette classe doivent sérialiser leurs objets via JSON.

SelectedFormatterPolicy

Stratégie de format que cette classe a l’intention d’utiliser lors de la sérialisation/désérialisation des informations. Toutefois, il peut être remplacé par le débogueur dans les scénarios où la stratégie de format choisie n’est pas prise en charge.

Méthodes

CreateReplacementObject(Object, Stream)

Crée et retourne un objet de remplacement pour l’objet transmis en fonction des données sérialisées.

Deserialize(Stream)
Obsolète.

Méthode d’assistance héritée utilisée par les anciens visualiseurs qui facilite l’écriture du code de sérialisation. Il utilise la sérialisation binaire par défaut pour lire l’objet donné à partir du flux. Toutefois, en raison de failles de sécurité liées à son utilisation, il ne doit plus être utilisé et sera lancé sur les versions plus récentes de .NET comme ASP.NET Core 5.0.

Si elle est appelée sur une application cible qui prend en charge la sérialisation binaire, une fois la méthode terminée, le pointeur de lecture de flux est avancé au-delà des octets de l’objet

DeserializeFromJson(Stream, Type, Object)

Désérialise les données au format JSON du flux spécifié dans un objet d’un type spécifique à l’aide de la bibliothèque Newtonsoft.Json.

DeserializeFromJson<T>(Stream, Object)

Désérialise les données au format JSON du flux spécifié dans un objet d’un type spécifique à l’aide de la bibliothèque Newtonsoft.Json.

GetData(Object, Stream)

Obtient un objet blob de données. Écrit les données de l’objet dans le flux mémoire.

GetDeserializableObject(Stream)

Méthode d’assistance qui peut être utilisée pour obtenir un objet désérialisable dans les cas où l’application cible peut ne pas prendre en charge la sérialisation binaire. Dans ce cas, le format sous-jacent doit être sérialisé à l’aide de JSON. Les appelants peuvent donc interroger des propriétés individuelles pour déterminer le type de l’objet qu’ils souhaitent désérialiser.

Serialize(Stream, Object)

Sérialise l’objet spécifié dans un flux.

Par défaut, les objets sont sérialisés à l’aide de la sérialisation binaire via .BinaryFormatter Toutefois, si l’application cible ne prend pas en charge la sérialisation binaire (comme dans le cas de ASP.NET Core applications 5.0+ ), la méthode sérialise l’objet à l’aide de la technologie de sérialisation JSON disponible.

La sérialisation binaire n’est pas prise en charge dans les visualiseurs hors processus. Par conséquent, cette méthode les sérialise toujours à l’aide de la bibliothèque Newtonsoft.Json.

SerializeAsJson(Stream, Object, Object)

Sérialise l’objet spécifié au format JSON dans un flux à l’aide de la bibliothèque Newtonsoft.Json.

TransferData(Object, Stream, Stream)

Appelé lorsque le type de visualiseur côté interface utilisateur appelle IVisualizerObjectProvider.TransferData(Stream) ou IVisualizerObjectProvider.TransferObject(object).

Cette méthode peut être utilisée pour définir un protocole de transmission de message personnalisé pour communiquer entre les types de visualiseurs côté interface utilisateur et côté débogage, ou pour appeler des actions personnalisées sur le type de visualiseur côté débogage. Le type de visualiseur côté interface utilisateur peut transmettre des données arbitraires sérialisées dans incomingData et le type de visualiseur côté débogage peut répondre avec des données arbitraires sérialisées dans outgoingData.

S’applique à