JsonObjectCreationHandlingAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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) |