![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
Возможно, ли сохранить ссылки объектов друг на друга после сериализации и следующей десериализации объектов в разные файлы.
Вот пример, код написан только для теста. Тут ничего не получается, но может есть варианты?
|
|||
|
||||
Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Нет. Ссылки на объекты как раз происходят в памяти. Можно сказать, что при сериализации обычно хранят данные класса ну и его метаданные.
--------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
||||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Сериализуйте BinaryFormatter-ом в MemoryStream, после чего часть байтов можно записать в один файл, а часть - в другой.
Потом собирайте из нескольких файлов данные в один MemoryStream и десериализуйте. -------------------- СУВ, Partizan. |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
Partizan, мне же нужно в разные файлы разные классы серилизовать. Как же я потом разделю MemoryStream на разные классы?
Это сообщение отредактировал(а) Rohoss - 7.9.2009, 21:42 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
а в чём, собственно проблема в вышеуказанном примере тогда?
-------------------- СУВ, Partizan. |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
Partizan, но это, же упрощенный код.
Добавлено @ 22:15 Нужно держать ссылки на объекты, находящиеся в другом классе (который был в другом файле) Это нужно для того чтобы быстро обратится к объекту, узнать ссылку на который не так просто. Это сообщение отредактировал(а) Rohoss - 7.9.2009, 22:18 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
проблема в вышеприведённом коде в чём?
в том, что
тут false. в этом проблема? Добавлено через 1 минуту всё, понял Добавлено через 7 минут и 47 секунд Сохранить возможно, только придётся reflection-ом бегать по объектам и составлять карту ссылок...в общем стандартными средствами никак ![]() -------------------- СУВ, Partizan. |
|||
|
||||
Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Мне страшно. Слишком рискованное дело. ![]() --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
В моём случаи можно по другому. Так как нужные мне объекты это параметризированные, многократно вложенные друг в друга коллекции типа List, можно составить карту изначально что – то вроде 1.33.22.567, где 1 – будет корневым объектом в иерархии, а следующие вложениями. И таким образом последний будет нужным мне объектом. Перемещение между ними займёт некоторое время, но не принципиальное… |
|||
|
||||
Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
А, ну тогда особых проблем быть не должно. А обязательно нужно юзать бинарную или XML тут не подойдет? --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 2 Всего: 18 |
||||
|
||||
Crypton |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 9.10.2006 Где: США, Санкт-Петерб ург Репутация: нет Всего: 2 |
Ну XML сериализацию можно пихнуть для например передачи данных к веб сервису по хттпэ. Еще очень помогает её юзать для настроек. Например создаем структуру Configuration где напрямую можно загружать настройки приложения. --------------------
«Все, что вы знаете — ложь» Теория мироздания |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |