JsonObjectCreationHandlingAttribute Klasse

Definition

Bestimmt, wie die Deserialisierung die Objekterstellung für Felder oder Eigenschaften behandelt.

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
Vererbung
JsonObjectCreationHandlingAttribute
Attribute

Hinweise

Wenn es in einem Feld oder einer Eigenschaft platziert wird, gibt dieses Attribut an, ob das Element ersetzt oder aufgefüllt wird. Wenn Standardlöser verwendet werden, wird dieses Attribut zugeordnet ObjectCreationHandling.

Wenn dieses Attribut für einen Typ mit Populateplatziert wird, gibt dieses Attribut an, dass alle Member aufgefüllt werden, die die Auffüllung unterstützen. Wenn Standardlöser verwendet werden, wird dieses Attribut zugeordnet PreferredPropertyObjectCreationHandling.

Das Attribut entspricht nur den bevorzugten Werten der Erstellungsbehandlung für Eigenschaften, wenn es für einen Typ platziert wird. Wenn JsonObjectCreationHandlingAttribute z. B. mit Populate für eine Klasse platziert wird und eine Eigenschaft nicht aufgefüllt werden kann, wird sie ersetzt. Dies kann beispielsweise der Fall sein true , wenn der Werttyp keinen Setter hat oder die Eigenschaft vom Typ IEnumerable<T>ist.

Es wird nur der Eigenschaftentyp berücksichtigt. Wenn die Eigenschaft beispielsweise vom Typ IEnumerable<T> hat und über einen Laufzeitwert vom Typ List<T>verfügt, wird sie nicht aufgefüllt, da IEnumerable<T> sie nicht aufgefüllt werden kann.

Werttypen erfordern einen Setter, um die Auffüllung zu unterstützen. In solchen Fällen verwendet die Deserialisierung eine Kopie des Eigenschaftswerts, der dem Setter nach Abschluss wieder zugewiesen wird.

Konstruktoren

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

Initialisiert eine neue Instanz von JsonObjectCreationHandlingAttribute.

Eigenschaften

Handling

Ruft die Konfiguration ab, die beim Deserialisieren von Membern verwendet werden soll.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für: