Udostępnij za pośrednictwem


JsonObjectCreationHandlingAttribute Klasa

Definicja

Określa sposób, w jaki deserializacja obsługuje tworzenie obiektów dla pól lub właściwości.

public ref class JsonObjectCreationHandlingAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=false)]
public sealed class JsonObjectCreationHandlingAttribute : System.Text.Json.Serialization.JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=false)>]
type JsonObjectCreationHandlingAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonObjectCreationHandlingAttribute
Inherits JsonAttribute
Dziedziczenie
JsonObjectCreationHandlingAttribute
Atrybuty

Uwagi

Po umieszczeniu na polu lub właściwości ten atrybut wskazuje, czy element członkowski zostanie zastąpiony lub wypełniony. Gdy są używane domyślne metody rozpoznawania nazw, ten atrybut jest mapowy na ObjectCreationHandling.

Po umieszczeniu elementu w typie z atrybutem Populateten atrybut wskazuje, że wszystkie elementy członkowskie obsługujące populację zostaną wypełnione. Gdy są używane domyślne metody rozpoznawania nazw, ten atrybut jest mapowy na PreferredPropertyObjectCreationHandling.

Atrybut odpowiada tylko preferowanym wartościom obsługi tworzenia właściwości w przypadku umieszczenia na typie. Na przykład jeśli JsonObjectCreationHandlingAttribute element with Populate zostanie umieszczony w klasie, a właściwość nie jest w stanie zostać wypełniona, zostanie zamieniona. Może to oznaczać true , że na przykład typ wartości nie ma ustawiania lub właściwość jest typu IEnumerable<T>.

Uwzględniany jest tylko typ właściwości. Na przykład jeśli właściwość ma typ IEnumerable<T> i ma wartość czasu wykonywania typu List<T>, nie zostanie wypełniona, ponieważ IEnumerable<T> nie jest w stanie wypełniać.

Typy wartości wymagają ustawiania w celu obsługi populacji. W takich przypadkach deserializacja używa kopii wartości właściwości, która zostanie przypisana z powrotem do ustawiacza po zakończeniu.

Konstruktory

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

Inicjuje nowe wystąpienie klasy JsonObjectCreationHandlingAttribute.

Właściwości

Handling

Pobiera konfigurację do użycia podczas deserializacji elementów członkowskich.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu .

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IsDefaultAttribute()

Podczas zastępowania w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

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

Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 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.

(Odziedziczone po Attribute)

Dotyczy