Share via


IVisualizerObjectProvider2 Interfaccia

Definizione

Fornisce funzionalità aggiuntive per passare i dati dal debug al visualizzatore.

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
Derivato
Implementazioni

Commenti

L'oggetto IVisualizerObjectProvider passato al DialogDebuggerVisualizermetodo per Show(IDialogVisualizerService, IVisualizerObjectProvider) VS 16.10 in avanti è di questo tipo, quindi è consigliabile eseguirne il cast per usare questa nuova funzionalità.

Proprietà

IsBinaryFormatterSupported

Specifica se il debug supporta BinaryFormatter poiché è stato deprecato in .NET 5. In caso contrario, il provider usa più JSON per comunicare con il visualizzatore.

(Ereditato da IVisualizerObjectProvider)
IsObjectReplaceable

Specifica se è possibile creare un oggetto sostitutivo. In questo caso, determina se l'oggetto dati visualizzato è sostituibile (lettura/scrittura) onono (sola lettura).

(Ereditato da IVisualizerObjectProvider)

Metodi

Deserialize(Stream)
Obsoleti.

Metodo helper legacy usato dai visualizzatori precedenti che semplifica la scrittura di codice di deserializzazione. Usa la serializzazione binaria predefinita per leggere l'oggetto specificato dal flusso. Tuttavia, a causa di vulnerabilità di sicurezza con il relativo utilizzo, non deve più essere usato e verrà generata nelle versioni più recenti di .NET come ASP.NET Core 5.0.

Se viene chiamato in un'app di destinazione che supporta la serializzazione binaria, dopo che il metodo termina la lettura del flusso e viene restituito l'oggetto sottostante.

GetData()

Ottiene un BLOB iniziale di dati sull'oggetto sottoposto a debug. I dati vengono scritti nell'oggetto MemoryStream fornito.

(Ereditato da IVisualizerObjectProvider)
GetDeserializableObject()

Ottiene i dati usando GetData e quindi restituisce un oggetto IDeserializableObject in modo che il chiamante possa deserializzare con JSON se la serializzazione predefinita non è supportata.

GetDeserializableObjectFrom(Stream)

Metodo helper che può essere usato per ottenere un oggetto deserializzabile per i casi in cui l'app di destinazione potrebbe non supportare la serializzazione binaria. In questi casi il formato sottostante deve essere serializzato usando JSON, quindi i chiamanti possono eseguire query su singole proprietà per determinare il tipo dell'oggetto che vogliono deserializzare.

GetObject()
Obsoleti.

Ottiene i dati usando GetData e quindi deserializza presupponendo che la serializzazione predefinita sia stata eseguita

(Ereditato da IVisualizerObjectProvider)
ReplaceData(Stream)

Crea una copia sostitutiva dell'oggetto in base ai dati serializzati specificati.

(Ereditato da IVisualizerObjectProvider)
ReplaceObject(Object)

Serializza l'oggetto usando la serializzazione predefinita e quindi imposta i dati usando ReplaceData

(Ereditato da IVisualizerObjectProvider)
Serialize(Object, Stream)

Metodo helper che semplifica la scrittura del codice di serializzazione.

Se l'app di destinazione supporta La serializzazione binaria serializza l'oggetto nel flusso con l'aiuto della classe BinaryFormatter. Se non è supportato, ovvero il caso nelle versioni più recenti di .NET, per impostazione predefinita viene serializzato l'oggetto in formato JSON.

TransferData(Stream)

Trasferisce i dati bidirezionalmente al metodo TransferData nel visualizzatoreObjectSource

(Ereditato da IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serializza l'oggetto in uscita usando come IDeserializableObject e quindi chiama TransferData. Al ritorno deserializza i dati in ingresso e restituisce l'oggetto sottoposto a wrapping in un oggetto IDeserializableObject.

TransferObject(Object)
Obsoleti.

Serializza l'oggetto in uscita usando la serializzazione predefinita e quindi chiama TransferData. Quando restituisce deserializza i dati in ingresso e restituisce l'oggetto deserializzato

(Ereditato da IVisualizerObjectProvider)

Si applica a