Compartilhar via


JsonObjectCreationHandlingAttribute Classe

Definição

Determina como a desserialização manipula a criação de objetos para campos ou propriedades.

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
Herança
JsonObjectCreationHandlingAttribute
Atributos

Comentários

Quando colocado em um campo ou propriedade, esse atributo indica se o membro será substituído ou preenchido. Quando resolvedores padrão são usados, esse atributo é mapeado para ObjectCreationHandling.

Quando colocado em um tipo com Populate, esse atributo indica que todos os membros que dão suporte à população serão preenchidos. Quando resolvedores padrão são usados, esse atributo é mapeado para PreferredPropertyObjectCreationHandling.

O atributo corresponde somente aos valores preferenciais da manipulação de criação para propriedades quando colocado em um tipo. Por exemplo, quando JsonObjectCreationHandlingAttribute com Populate é colocado em uma classe e uma propriedade não é capaz de ser populada, ela será substituída. Isso pode ser true se, por exemplo, o tipo de valor não tiver um setter ou a propriedade for do tipo IEnumerable<T>.

Somente o tipo de propriedade é levado em consideração. Por exemplo, se a propriedade for do tipo IEnumerable<T> tiver e tiver um valor de tempo de execução do tipo List<T>, ela não será preenchida porque IEnumerable<T> não é capaz de preencher.

Os tipos de valor exigem um setter para dar suporte à população. Nesses casos, a desserialização usa uma cópia do valor da propriedade, que será atribuída de volta ao setter após a conclusão.

Construtores

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

Inicializa uma nova instância de JsonObjectCreationHandlingAttribute.

Propriedades

Handling

Obtém a configuração a ser usada ao desserializar membros.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a