IVisualizerObjectProvider3 Interfaccia

Definizione

Consente al debugger del visualizzatore e alle coordinate dei componenti lato debug su cui usare il meccanismo di serializzazione e fornisce funzionalità aggiuntive per passare i dati al lato debug tenendo conto dell'oggetto SelectedFormatterPolicy.

public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
Implementazioni

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)
SelectedFormatterPolicy

Criterio di formato che questa classe userà durante la serializzazione/deserializzazione delle informazioni.

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.

(Ereditato da IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

Deserializza i dati nel formato Newtonsoft.Json dal flusso specificato in un oggetto di un tipo specifico.

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.

(Ereditato da IVisualizerObjectProvider2)
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.

(Ereditato da IVisualizerObjectProvider2)
GetObject()
Obsoleti.

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

(Ereditato da IVisualizerObjectProvider)
GetObject<T>()

Ottiene i dati usando GetData() e quindi tenta di deserializzarlo nel tipo specificato.

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.

(Ereditato da IVisualizerObjectProvider2)
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.

(Ereditato da IVisualizerObjectProvider2)
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)
TransferObject<T>(Object)

Serializza l'oggetto in uscita usando e SelectedFormatterPolicy quindi chiama TransferData(Stream). Al ritorno tenta di deserializzare i dati in ingresso e restituisce l'oggetto del tipo specificato.

Si applica a