Condividi tramite


JsonObjectCreationHandlingAttribute Classe

Definizione

Determina il modo in cui la deserializzazione gestisce la creazione di oggetti per campi o proprietà.

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
Ereditarietà
JsonObjectCreationHandlingAttribute
Attributi

Commenti

Se posizionato su un campo o una proprietà, questo attributo indica se il membro verrà sostituito o popolato. Quando vengono usati i resolver predefiniti, questo attributo esegue il mapping a ObjectCreationHandling.

Quando viene inserito in un tipo con Populate, questo attributo indica che tutti i membri che supportano la popolazione verranno popolati. Quando vengono usati i resolver predefiniti, questo attributo esegue il mapping a PreferredPropertyObjectCreationHandling.

L'attributo corrisponde solo ai valori preferiti della gestione della creazione per le proprietà quando vengono posizionati su un tipo. Ad esempio, quando JsonObjectCreationHandlingAttribute con Populate viene posizionato su una classe e una proprietà non è in grado di essere popolata, verrà sostituita. Potrebbe essere true se, ad esempio, il tipo di valore non ha un setter o la proprietà è di tipo IEnumerable<T>.

Solo il tipo di proprietà viene preso in considerazione. Ad esempio, se la proprietà è di tipo IEnumerable<T> ha e ha un valore di runtime di tipo List<T>, non verrà popolato perché IEnumerable<T> non è in grado di popolare.

I tipi di valore richiedono un setter per supportare la popolazione. In questi casi, la deserializzazione usa una copia del valore della proprietà, che verrà assegnata al setter al setter al termine.

Costruttori

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

Inizializza una nuova istanza di JsonObjectCreationHandlingAttribute.

Proprietà

Handling

Ottiene la configurazione da usare durante la deserializzazione dei membri.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a