JsonObjectCreationHandlingAttribute Clase

Definición

Determina cómo la deserialización controla la creación de objetos para campos o propiedades.

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
Herencia
JsonObjectCreationHandlingAttribute
Atributos

Comentarios

Cuando se coloca en un campo o propiedad, este atributo indica si el miembro se reemplazará o rellenará. Cuando se usan resoluciones predeterminadas, este atributo se asigna a ObjectCreationHandling.

Cuando se coloca en un tipo con Populate, este atributo indica que se rellenarán todos los miembros que admiten el rellenado. Cuando se usan resoluciones predeterminadas, este atributo se asigna a PreferredPropertyObjectCreationHandling.

El atributo solo corresponde a los valores preferidos del control de creación para las propiedades cuando se colocan en un tipo. Por ejemplo, cuando JsonObjectCreationHandlingAttribute con Populate se coloca en una clase y una propiedad no es capaz de rellenarse, se reemplazará. Esto puede ser true si, por ejemplo, el tipo de valor no tiene un establecedor o la propiedad es de tipo IEnumerable<T>.

Solo se tiene en cuenta el tipo de propiedad. Por ejemplo, si la propiedad es de tipo IEnumerable<T> tiene y tiene un valor en tiempo de ejecución de tipo List<T>, no se rellenará porque IEnumerable<T> no es capaz de rellenarse.

Los tipos de valor requieren un establecedor para admitir el rellenado. En tales casos, la deserialización usa una copia del valor de propiedad, que se asignará de nuevo al establecedor una vez finalizada.

Constructores

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

Inicializa una nueva instancia de la clase JsonObjectCreationHandlingAttribute.

Propiedades

Handling

Obtiene la configuración que se va a usar al deserializar miembros.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

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

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

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

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a