Czy to możliwe, że DataContractSerializer
nieprawidłowo deserializuje obiekt, jeśli pola nie znajdują się w "poprawnej" (cokolwiek to znaczy) kolejności?Szereguj/deserializuj obiekty - kolejność pól jest ważna?
Klasy, które próbuję serializować/deserializować, nie mają atrybutów zleceń umieszczonych w polach/właściwościach. Jednak jedno z moich pól zawsze jest przekształcane w postaci szeregowej jako null
, mimo że ma wartość inną niż null (w rzeczywistości zawiera listę ciągów znaków).
Kiedy przeniosłem dwa elementy XML w pliku szeregowym, aby dopasować kolejność w innym przykładzie XML (dla którego deserializacja działała bez problemów) wszystko zaczęło działać.
To nie ma dla mnie sensu, ale może ktoś wie lepiej. ;)
Od wersji .NET 3.5 SP1 można pominąć pierwszą i drugą regułę. – JustAMartin
@Martin: r czy na pewno? Na przykład dla usług WWW, które wymagają serializacji, wymagają 'DataMemberAttribute', nawet w .NET 4.0. Czy masz link do referencji? Chciałbym przeczytać więcej na ten temat (a następnie zaktualizować moją odpowiedź). – Abel
Link w przepisie 6 jest martwy – bkribbs