Почему XmlSerializer не поддерживает Словарь?

Просто любопытный относительно того, почему Словарь не поддерживается XmlSerializer?

Можно обойти его достаточно легко при помощи DataContractSerializer и запись объекта к a XmlTextWriter, но что является характеристиками Словаря, который мешает a XmlSerializer для контакта с рассмотрением, это - действительно массив KeyValuePairs.

На самом деле можно передать IDictionary<TKey, TItem> к методу, ожидающему IEnumerable<KeyValuePairs<TKey, ITem>>.

46
задан theburningmonk 26 May 2010 в 09:08
поделиться

1 ответ

Хэш-таблицам вообще нужны поставщики хэш-кодов и сравнений равенства. Они не могут быть легко сериализованы в XML, и определенно не будут переносимы.

Но я думаю, что вы уже нашли ответ. Просто сериализуйте хэш-таблицу как List>, а затем (пере)сконструируйте ее в хэш-таблицу.

27
ответ дан 26 November 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: