DataContractSerializer обрабатывает отсутствующие значения перечисления во время десериализацииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 DataContractSerializer обрабатывает отсутствующие значения перечисления во время десериализации

Сообщение Anonymous »

Есть ли способ обработать отсутствующие значения перечисления во время десериализации значений перечисления строк.
Изначально я думал, что Json.Net и StringEnumConverter используются по умолчанию для этого преобразования, и написал подкласс, который может преобразовывать пропущенные значения, но при проверке трассировки стека выяснилось, что используется EnumDataContract.ReadEnumValue.
Если есть изменения в определении перечисления, я хочу чтобы иметь возможность обрабатывать значение в каждом конкретном случае, до которого значение должно десериализоваться.
Например, вместо получения ожидаемой ниже ошибки из-за изменения ConditionType я хотел бы быть возможность указать словарь, который будет использоваться в случае сбоя, т. е. {"TestComplete":ConditionType.InvalidValue

Код: Выделить всё

UnhandledException caught (SerializationException): Invalid enum value 'TestComplete' cannot be deserialized into type 'ConditionType'. Ensure that the necessary enum values are present and are marked with EnumMemberAttribute attribute if the type has DataContractAttribute attribute.
Любые указания о том, как этого добиться или как я могу подключиться/переопределить EnumDataContract
Мой член перечисления помечен, как показано ниже.
Мой член перечисления помечен, как показано ниже.
Мой член перечисления помечен, как показано ниже.
р>

Код: Выделить всё

[DataMember]
public ConditionType Type { get; set; }
Я нашел похожий вопрос, но на него нет ответа.

Подробнее здесь: https://stackoverflow.com/questions/783 ... ialisation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • DataContractSerializer обрабатывает отсутствующие значения перечисления во время десериализации
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Поток только для записи — получите количество записанных байт с помощью DataContractSerializer.
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • DataContractSerializer не десериализуется правильно
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • DataContractSerializer не десериализуется правильно
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • DataContractSerializer не десериализуется правильно
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»