JsonExtensionDataAttribute Klasa

Definicja

Po umieszczeniu na właściwości typu IDictionary<TKey,TValue>wszystkie właściwości, które nie mają pasującego elementu członkowskiego, są dodawane do tego słownika podczas deserializacji i zapisywane podczas serializacji.When placed on a property of type IDictionary<TKey,TValue>, any properties that do not have a matching member are added to that dictionary during deserialization and written during serialization.

public ref class JsonExtensionDataAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonExtensionDataAttribute
Inherits JsonAttribute
Dziedziczenie
JsonExtensionDataAttribute
Atrybuty

Uwagi

Wartość TKey słownika musi być String, a TValue musi być JsonElement lub Object.The dictionary's TKey value must be String, and TValue must be JsonElement or Object.

Podczas deserializacji podczas używania Objectwartość JSON "null" jest traktowana jako odwołanie do obiektu null i w przypadku używania JsonElement"null" jest traktowana jako element Jsonelement z ValueKind ustawionym na JsonValueKind.Null.During deserialization, when using Object, a "null" JSON value is treated as a null object reference, and when using JsonElement, a "null" is treated as a JsonElement with ValueKind set to JsonValueKind.Null.

Podczas serializacji nazwa właściwości danych rozszerzenia nie jest uwzględniona w kodzie JSON; dane zawarte w danych rozszerzenia są serializowane jako właściwości obiektu JSON.During serialization, the name of the extension data property is not included in the JSON; the data contained within the extension data is serialized as properties of the JSON object.

Jeśli istnieje więcej niż jedna właściwość typu z tym atrybutem danych rozszerzenia lub jeśli sama właściwość nie ma poprawnego typu , InvalidOperationException jest generowany podczas pierwszej serializacji lub deserializacji tego typu.If there is more than one property on a type with this extension data attribute, or if the property itself is not of the correct type, an InvalidOperationException is thrown during the first serialization or deserialization of that type.

Aby uzyskać więcej informacji, zobacz jak serializować i deserializować JSON.For more information, see How to serialize and deserialize JSON.

Konstruktory

JsonExtensionDataAttribute()

Tworzy nowe wystąpienie klasy JsonExtensionDataAttribute.Instantiates a new instance of the JsonExtensionDataAttribute class.

Właściwości

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.Returns a value that indicates whether this instance is equal to a specified object.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca kod skrótu dla tego wystąpienia.Returns the hash code for this instance.

(Odziedziczone po Attribute)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
IsDefaultAttribute()

Gdy jest zastępowany w klasie pochodnej, wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Odziedziczone po Attribute)
Match(Object)

Gdy jest zastępowany w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest zgodne z określonym obiektem.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.Maps a set of names to a corresponding set of dispatch identifiers.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.Provides access to properties and methods exposed by an object.

(Odziedziczone po Attribute)

Dotyczy