Compartir vía


JsonExtensionDataAttribute Clase

Definición

Cuando se coloca en una propiedad de tipo IDictionary<TKey,TValue>, las propiedades que no tengan un miembro coincidente se agregan a ese diccionario durante la deserialización y se escriben durante la serialización.

public ref class JsonExtensionDataAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class JsonExtensionDataAttribute : System.Text.Json.Serialization.JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false)>]
type JsonExtensionDataAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonExtensionDataAttribute
Inherits JsonAttribute
Herencia
JsonExtensionDataAttribute
Atributos

Comentarios

El valor del TKey diccionario debe ser String, y TValue debe ser JsonElement o Object.

Durante la deserialización, cuando se usa Object, un valor JSON "null" se trata como una null referencia de objeto y, cuando se usa JsonElement, un valor "null" se trata como jsonElement con ValueKind establecido en JsonValueKind.Null.

Durante la serialización, el nombre de la propiedad de datos de extensión no se incluye en el JSON; los datos contenidos en los datos de extensión se serializan como propiedades del objeto JSON.

Si hay más de una propiedad en un tipo con este atributo de datos de extensión, o si la propia propiedad no es del tipo correcto IDictionary<TKey,TValue> , se produce una InvalidOperationException excepción durante la primera serialización o deserialización de ese tipo.

Para obtener más información, consulte Control de JSON de desbordamiento con System.Text.Json.

Constructores

JsonExtensionDataAttribute()

Inicializa una nueva instancia de la clase JsonExtensionDataAttribute.

Propiedades

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