Condividi tramite


JsonExtensionDataAttribute Classe

Definizione

Per una proprietà di tipo IDictionary<TKey,TValue>, tutte le proprietà che non hanno un membro corrispondente vengono aggiunte a tale dizionario durante la deserializzazione e scritte durante la serializzazione.

public ref class JsonExtensionDataAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonExtensionDataAttribute
Inherits JsonAttribute
Ereditarietà
JsonExtensionDataAttribute
Attributi

Commenti

Il valore del TKey dizionario deve essere , e TValue deve essere StringJsonElement o Object.

Durante la deserializzazione, quando si usa , un valore JSON "null" viene considerato come riferimento all'oggetto e quando si usa ObjectJsonElement, un valore "Null" viene considerato come jsonElement con ValueKind impostato su JsonValueKind.Null.null

Durante la serializzazione, il nome della proprietà dati dell'estensione non è incluso nel codice JSON; i dati contenuti all'interno dei dati dell'estensione vengono serializzati come proprietà dell'oggetto JSON.

Se è presente più proprietà in un tipo con questo attributo di dati di estensione o se la proprietà stessa non è del tipo corretto IDictionary<TKey,TValue> , viene InvalidOperationException generata una proprietà durante la prima serializzazione o deserializzazione di tale tipo.

Per altre informazioni, vedere Come gestire il overflow JSON con System.Text.Json.

Costruttori

JsonExtensionDataAttribute()

Inizializza una nuova istanza della classe JsonExtensionDataAttribute.

Proprietà

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a