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


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

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

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

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

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

Я вообще пилю велосипед веб-сервер на базе 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
Сериализовать Dictionary
    #39811978
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я передираю подходы к реализации прикладной части МVС c Core (конфигурация, маршрутизация, объектная модель базового контроллера - все в сильно урезанном виде), поэтому ни XDocument ни XmlDocument не вариант.
...
Рейтинг: 0 / 0
Сериализовать Dictionary
    #39811979
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯ передираю подходы к реализации прикладной части МVС c Core
Не проще ли готовый MVC Сore тогда взять?
Antonariyпоэтому ни XDocument ни XmlDocument не вариант.
Почему?
...
Рейтинг: 0 / 0
Сериализовать Dictionary
    #39811985
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatAntonariyЯ передираю подходы к реализации прикладной части МVС c Core
Не проще ли готовый MVC Сore тогда взять? Ничего похожего под платформу .NET for Universal Windows я не нашел. Core под ней вообще работает?

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


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