JsonObjectCreationHandlingAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, jak deserializace zpracovává vytváření objektů pro pole nebo vlastnosti.
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
- Dědičnost
- Atributy
Poznámky
Při umístění do pole nebo vlastnosti tento atribut označuje, zda bude člen nahrazen nebo naplněn. Při použití výchozích překladačů se tento atribut mapuje na ObjectCreationHandling.
Při umístění na typ s Populate, tento atribut označuje, že budou naplněni všichni členové, kteří podporují populaci. Při použití výchozích překladačů se tento atribut mapuje na PreferredPropertyObjectCreationHandling.
Atribut odpovídá pouze upřednostňovaným hodnotám zpracování vlastností při umístění na typ. Pokud je například JsonObjectCreationHandlingAttribute umístěna Populate do třídy a vlastnost není schopna být naplněna, bude nahrazena. To může být true například v případě, že typ hodnoty nemá setter nebo vlastnost je typu IEnumerable<T>.
Je třeba vzít v úvahu pouze typ vlastnosti. Pokud je například vlastnost typu IEnumerable<T> má a má hodnotu List<T>typu za běhu, nebude naplněna, protože IEnumerable<T> není schopna naplnit.
Typy hodnot vyžadují, aby setter podporoval základní soubor. V takových případech deserializace používá kopii hodnoty vlastnosti, která se po dokončení přiřadí zpět k setter.
Konstruktory
| Name | Description |
|---|---|
| JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling) |
Inicializuje novou instanci .JsonObjectCreationHandlingAttribute |
Vlastnosti
| Name | Description |
|---|---|
| Handling |
Získá konfiguraci, která se má použít při deserializaci členů. |
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |