|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
||||||
Какая сериализация поддерживает циклические\круговые ссылки?25.06.2021, 15:26. Показов 1677. Ответов 14
Метки нет (Все метки)
Есть круговой код вроде этого:
0
|
||||||
| 25.06.2021, 15:26 | |
|
Ответы с готовыми решениями:
14
Какая кодировка поддерживает .html и .txt? Циклические ссылки Циклические ссылки |
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||
| 25.06.2021, 15:43 | ||
|
Что касается форматов сериализации, то можно тут почитать. https://metanit.com/sharp/tutorial/6.1.php
1
|
||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
||||||
| 25.06.2021, 16:05 [ТС] | ||||||
|
Тогда более точный пример того, что есть сейчас
0
|
||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 25.06.2021, 16:25 | ||||||
|
Pandamonk, в интернете первая же ссылка на небезызвестный сайт.
0
|
||||||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
|
| 25.06.2021, 17:51 [ТС] | |
|
А есть ли возможность сразу пометить это в самом классе как это делается с бинарным форматом через добавление параметра [Serializable] над классом?
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|
| 25.06.2021, 18:02 | |
|
Pandamonk, тут посмотрите. У него, как я понял, свои атрибуты.
https://docs.microsoft.com/en-... ew=net-5.0
0
|
|
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
||||||
| 25.06.2021, 18:30 [ТС] | ||||||
|
По этой ссылке нет информации о циклических ссылках.
Попробовал взять из интернетов это
0
|
||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||
| 25.06.2021, 19:02 | ||
|
https://docs.microsoft.com/ru-... references
0
|
||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
|||||||
| 25.06.2021, 19:15 [ТС] | |||||||
|
При попытке использовать [DataMember(IsReference = true)] появляется ошибка, что обнаружена циклическая ссылка, хотя вроде как сам атрибут говорит о том, что ведет на ссылку.
Код выше с классом есть, ну а для того, чтобы воссоздать ошибку - нужно просто сериализовать созданный объект
Вопрос сверху: чем удобнее всего читать\редактировать формат json? Сейчас пробую другие десериализаторы, но формат json сохраняет ОДНОЙ сторокой. У меня файл 4 мегабайта длиной экватора - как распилить его на строки?
0
|
|||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|||||
| 25.06.2021, 22:59 | |||||
|
https://metanit.com/sharp/tutorial/6.5.php
0
|
|||||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
|||
| 25.06.2021, 23:31 [ТС] | |||
|
0
|
|||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||
| 25.06.2021, 23:37 | ||||
|
0
|
||||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
||
| 26.06.2021, 00:24 [ТС] | ||
|
Что ж, в таком случае сейчас пойдет череда базовых вопросов. Итак, я хочу сохранить список объектов в файл, и гугл подсказывает, что, видимо, сериализация - и есть то нечто, что позволяет сохранить объекты в файл. И видимо, они имеют разные эээ... форматы, что бы это ни значило. 1) какие форматы или, не знаю, имена у сериализаторов есть, чтобы их можно было банально отличить при загугливании? metanit подсказывает *бинарный, SOAP, xml, JSON*, гугл подсказывает еще Newtonsoft.Json, есть еще какие-то? 2) какие из них поддерживают циклические ссылки, которая представлена в третьем посте? этот пост подсказывает, что xml не поддерживает, бинарный формат точно поддерживает т.к. пока что с ним работаю, но он не удобен для чтения. Что из оставшихся поддерживает циклические ссылки? 3) бинарный формат - у сохраненного объекта есть возможность удалять\обнулять поля? Допустим, у меня было некое поле name, которое впоследствии было удалено. Всегда можно создать новый объект-файл без этого поля, но при попытке загрузить старый объект-файл, в котором уже было это поле, я получаю ошибку, - как удалить из бинарного формата поле или при десериализации игнорировать отсутствующие поля, которые были удалены? Гугл пока что говорит, что это просто невозможно. По правде говоря, отсутствие такой возможности - причина, по которой хочу пересесть на любой другой сериализатор, все, что нужно - возможность свободно менять\удалять поля и сохранять объекты с циклическими ссылками, и это то, на чем застрял последние пять часов. Черт, если будет просто программа, которая позволяет читать .bin файл и редактировать его без ошибок - мне этого будет достаточно, но гугл на счет такой программы молчит, а сам файл на 50% состоит из крякозябры.
0
|
||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||
| 26.06.2021, 00:43 | ||
|
1. Не знаю. Если перечисленных будет не хватать, то гугл в помощь.
2. Как минимум DataContractSerializer и Newtonsoft JSON. https://metanit.com/sharp/tutorial/6.2.php Удалил в классе свойство с возрастом и десериализовал. Никаких проблем не возникло. Либо я что-то не понял.
0
|
||
|
3 / 2 / 2
Регистрация: 26.05.2021
Сообщений: 150
|
|
| 26.06.2021, 18:52 [ТС] | |
|
0
|
|
| 26.06.2021, 18:52 | |
|
Помогаю со студенческими работами здесь
15
Циклические ссылки Какая версия сервера поддерживает внешние ключи, ... ? Какая из версий убунту поддерживает автоматическое переключение? Какая видеокарта поддерживает видеорежим 1600х900 70-75Гц? Циклические ссылки в меню Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|