Возможно ли, что DataContractSerializer
ошибочно десериализует объект, если поля не находятся в «правильном» (что это означает) порядке?Сериализация/десериализация объектов - порядок полей?
Классы, которые я пытаюсь выполнить для сериализации/десериализации, не имеют атрибутов заказа, помещенных в поля/свойства. Однако одно из моих полей всегда десериализуется как null
, хотя оно имеет ненулевое значение (оно фактически содержит список строк).
Когда я переместил два элемента XML в сериализованном файле вокруг, чтобы соответствовать порядку в другом примере XML (для которого десериализация работала без проблем), все приступило к работе.
Это не имеет никакого смысла для меня, но, возможно, кто-то знает лучше. ;)
Начиная с .NET 3.5 SP1, первое и второе правила могут быть опущены. – JustAMartin
@Martin: r u sure? Например, для веб-сервисов, требующих сериализации, они требуют «DataMemberAttribute», даже в .NET 4.0. У вас есть ссылка на ссылку? Мне было бы интересно узнать больше об этом (а затем обновить мой ответ). – Abel
Ссылка в правиле 6 мертва – bkribbs