Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2012, 00:32   #1
lagoZhmot
Новичок
Джуниор
 
Регистрация: 28.12.2011
Сообщений: 2
По умолчанию Сериализация иерархических структур в C#

Для организации иерархии имею класс вида

Код:
public class Item
{
	public string Name { get; set; }
	public Item Parent { get; set; }
}
Если его сериализовать, то он в Parent запишет полную копию объекта, да и при десериализации получится новый объект вместо указателя на реальный родительский. В стандарте xml есть механизм id ... ref для того чтобы были ссылки. Неужто мудрый мелкософт не придумал [Xml...] аттрибута который задействует этот механизм? Свой сериализатор писать не очень хочется...
lagoZhmot вне форума Ответить с цитированием
Старый 22.03.2012, 18:29   #2
stalsoft
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 147
По умолчанию

Цитата:
Сообщение от lagoZhmot Посмотреть сообщение
Для организации иерархии имею класс вида

Код:
public class Item
{
	public string Name { get; set; }
	public Item Parent { get; set; }
}
Если его сериализовать, то он в Parent запишет полную копию объекта, да и при десериализации получится новый объект вместо указателя на реальный родительский. В стандарте xml есть механизм id ... ref для того чтобы были ссылки. Неужто мудрый мелкософт не придумал [Xml...] аттрибута который задействует этот механизм? Свой сериализатор писать не очень хочется...
Если это реальный пример кода, то я не понимаю как Вы сериализируете объекты класса, если сам класс не помечен атрибутом "[Serializable]".

P.S. опишите пожалуйста более точно Вашу проблему.
У женщин чары образуются из стрингов;
А у программистов наоборот - стринги образуются из чаров;
stalsoft вне форума Ответить с цитированием
Старый 22.03.2012, 20:42   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Очень любопытный вопрос. Вроде как нужно юзать DataContractSerializer, задав ему PreserveObjectReferences.

http://stackoverflow.com/questions/1...of-object-copy

Сам раньше не знал. Даже плюс за вопрос поставлю.

Последний раз редактировалось ds.Dante; 22.03.2012 в 20:48.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуальное проектирование иерархических заголовков в DBGrid aub2000 Софт 1 08.02.2018 01:54
Сериализация Gregor Компоненты Delphi 10 16.04.2011 12:18
Сериализация Вов@ныч Общие вопросы Delphi 2 06.07.2009 09:54
сериализация Crucian Общие вопросы C/C++ 5 18.11.2007 16:37