Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сериализовать Dictionary / 16 сообщений из 16, страница 1 из 1
09.05.2019, 23:19
    #39811773
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
У меня есть сферическая модель, которую я сериализую в xml через System.Xml.Serialization. В ней есть поле типа Dictionary<string, object>. Можно ли привести его к виду
Код: xml
1.
<Dictionary key1="value1" key2="value2" ... />


?
...
Рейтинг: 0 / 0
10.05.2019, 00:06
    #39811780
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Штатно - вроде как нет - достаточно необычное желание. Попробуй копать в сторону XmlAttributeOverrides
...
Рейтинг: 0 / 0
10.05.2019, 04:13
    #39811788
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
...
Рейтинг: 0 / 0
10.05.2019, 20:59
    #39811944
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
А почему не сериализуются такие поля?

Код: c#
1.
public string DateTimeDisplay => DateTime.Now.ToString(); 

Даже если [XmlElement] добавить. Обязательно set нужно почему-то.
...
Рейтинг: 0 / 0
10.05.2019, 21:09
    #39811947
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Потому что сериализация предполагает дальнейшую десериализацию ))
Поковыряй опции при создании сериализатора, возможно это можно настроить

Со словарем вышло?
...
Рейтинг: 0 / 0
10.05.2019, 22:15
    #39811955
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Shocker.ProСо словарем вышло?Не стал углубляться, не стоит овчинка выделки. Обойдусь вообще без Dictionary.
...
Рейтинг: 0 / 0
10.05.2019, 22:21
    #39811956
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Shocker.ProПотому что сериализация предполагает дальнейшую десериализацию ))Теперь понятно, почему на отсутствие беспараметрического конструктора ругался.
...
Рейтинг: 0 / 0
10.05.2019, 22:28
    #39811957
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Без сеттера нужно опять возиться с IXmlSerializable. Отстой.

Может есть другой способ сериализовать под netstandart2.0? Чтобы без лишней возни над каждым классом?
...
Рейтинг: 0 / 0
10.05.2019, 23:42
    #39811966
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Сериализовать во что? в XML?
Ну смотря насколько сложный у тебя сериализуемый класс.
Может тебе проще будет собрать XDocument и сохранить его. В частности, с тем же словарем (ключи в атрибуты) это точно проще ))
...
Рейтинг: 0 / 0
11.05.2019, 05:54
    #39811977
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Сериализатору должно быть наплевать, насколько сложный у меня класс, главное, что циклических ссылок нет.

Я вообще пилю велосипед веб-сервер на базе HttpListener с поддержкой MVC. Модель сериализую в xml, а в качестве view использую xsl, который применяю к результату сериализации, поэтому десериализация меня не интересует от слова совсем. Вся эта кухня должна крутиться под Windows IOT на Raspberry PI, предоставляя web IU для управления тем, что навешано на GPIO. В UWP, на базе которой построена IOT, я не нашел ничего похожего на веб-сервер. В интернете предлагают использовать сокеты или HttpListener, выбрал последний, так как в нем реализованы Request и Response, считай пол-сервера уже готово. Выбрал для ядра чистый netstandart из-за кроссплатформенности - мало ли где еще понадобится. И выбрал xml/xsl для MV-части, поскольку это проще, чем натягивать поддержку Razor, и не факт, что это вообще возможно, хотя UWP-проект и поддерживает файлы cshtml. К тому же отлаживаю прикладную часть в консольном приложении, а консоль cshtml не поддерживает.
...
Рейтинг: 0 / 0
11.05.2019, 06:04
    #39811978
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Я передираю подходы к реализации прикладной части МVС c Core (конфигурация, маршрутизация, объектная модель базового контроллера - все в сильно урезанном виде), поэтому ни XDocument ни XmlDocument не вариант.
...
Рейтинг: 0 / 0
11.05.2019, 06:51
    #39811979
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
AntonariyЯ передираю подходы к реализации прикладной части МVС c Core
Не проще ли готовый MVC Сore тогда взять?
Antonariyпоэтому ни XDocument ни XmlDocument не вариант.
Почему?
...
Рейтинг: 0 / 0
11.05.2019, 07:59
    #39811985
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
fkthatAntonariyЯ передираю подходы к реализации прикладной части МVС c Core
Не проще ли готовый MVC Сore тогда взять? Ничего похожего под платформу .NET for Universal Windows я не нашел. Core под ней вообще работает?

fkthatПочему?Потому что потеряю валидацию предметной области компилятором. Плюс говнокода больше. А так-то вариант, конечно.
...
Рейтинг: 0 / 0
11.05.2019, 08:07
    #39811987
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
А, нужно было искать в нугете AspNetCore
...
Рейтинг: 0 / 0
11.05.2019, 08:17
    #39811989
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
Не, нахрен его, там такой оверхед по функционалу в одной лишь сборке Microsoft.AspNetCore.Mvc.Core, что это это нифига не проще. Мне-то осталось лишь html-форму в модель перевести, и джентельменский системный набор функций готов.
...
Рейтинг: 0 / 0
11.05.2019, 08:43
    #39811991
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сериализовать Dictionary
AntonariyМожет есть другой способ сериализовать под netstandart2.0?System.Runtime.Serialization.Xml
Но в ней все те же недостатки, что в Xml.Serialization, плюс xml получается более сложный.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сериализовать Dictionary / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]