JsonObjectCreationHandlingAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, как десериализация обрабатывает создание объектов для полей или свойств.
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
- Наследование
- Атрибуты
Комментарии
При размещении в поле или свойстве этот атрибут указывает, будет ли элемент заменен или заполнен. Если используются сопоставители по умолчанию, этот атрибут сопоставляется с ObjectCreationHandling.
При размещении в типе с Populateпараметром этот атрибут указывает, что будут заполнены все члены, поддерживающие заполнение. Если используются сопоставители по умолчанию, этот атрибут сопоставляется с PreferredPropertyObjectCreationHandling.
Атрибут соответствует только предпочтительным значениям обработки создания для свойств при их размещении в типе. Например, если JsonObjectCreationHandlingAttributePopulate свойство с помещается в класс и свойство не может быть заполнено, оно будет заменено. Это может быть true
, например, если тип значения не имеет метода задания или свойство имеет тип IEnumerable<T>.
Учитывается только тип свойства. Например, если свойство имеет тип IEnumerable<T> и имеет значение времени выполнения типа List<T>, оно не будет заполнено, так как IEnumerable<T> не может заполняться.
Для типов значений требуется метод задания для поддержки заполнения. В таких случаях десериализация использует копию значения свойства, которое будет назначено методу задания после завершения.
Конструкторы
JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling) |
Инициализирует новый экземпляр JsonObjectCreationHandlingAttribute. |
Свойства
Handling |
Возвращает конфигурацию, используемую при десериализации элементов. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute) |