Сериализация Dictionary<string, object>
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.05.20 15:39
Оценка:
Всем привет.

Казалось бы, на первый взгляд, простейшая задача. Есть Dictionary<string, object>. Нужно записать его в ветку реестра текущего пользователя и восстановить потом в обратно Dictionary<string, object>. Беда только в том, что в object могут быть разные типы. В том числе целые могут быть разных тпов: int, long, uint... Там могут появляться только примитивные типы или к ним сводимые (строки, целые разных типов, энумы, даты), т.е. типы колонок БД. Вот только важно, чтобы если был long, чтобы они десерелизоваля.

Решил сереализнуть его через Newton json, но он информацию о типах не особо сохраняет, так что при десериализации вместо, скажем, uint или long получаем int, а это не приемлемо.

Добился желаемого только через BinaryFormatter. Но он порождает очень некомпактный выхлоп. Тратить время на зипование тоже не хочется.

Есть какие-то более компактные альтернативы корректно сохраняющие тип значений в object-ах?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.