Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > .NET
Перезагрузить страницу Сериализация классов в XML
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
nebula
Guest
 
Сообщений: n/a
По умолчанию 03.08.2006, 13:49

Существуют следующие классы:

Код:
class Track
{
  public Album album;
}

class TrackList : IEnumerable
{
  ...
}

class Album
{
  public TrackList Tracks;
}
Смысл в следующем, между ними перекрестные ссылки, альбом имеет коллекцию трэков, трэк имеет ссылку на альбом. В результате должен получиться примерно следующий xml файл.

Код:
<album name="">
  <tracks>
    <track name=""/> 
    .,..
    <track name=""/>
  </tracks>
</album>
Но при сериализации возникает ошибка, определена циклическая ссылка. Доходя до серилизации трэков мы снова возвращаемся к тому же альбому через паблик свойство album.
Если исключить из серилизации свойство album, то при загрузке классов их xml файла оно не будет инициализировано.
Каким образом решается подобная ситуация?
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,470
Сказал(а) спасибо: 22
Поблагодарили 944 раз(а) в 928 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 12.08.2006, 23:17

зачем в треке вообще хранить (ссылку на) обьект альбома?
в крайнем случае уникальный ID, по которому альбом можно найти в их перечне


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
Ответить с цитированием
  (#3 (permalink)) Старый
Omen Omen вне форума
Member
 
Сообщений: 467
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.05.2004
По умолчанию 09.09.2006, 22:39

Неправильное проектирование. ВСЕГДА можно обойтись без перекрестных ссылок. Точнее нужно! Ибо этим еще в довесок увеличиваете нагрузку на garbage collector.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сериализация: как прочитать записанное GreatTalker .NET 1 09.04.2012 17:50
наследование классов milaxa С/С++ 13 19.12.2011 01:31
Наследование классов (Borland C++ ) Sorrat С/С++ 2 21.02.2009 14:37
Написание программы без С++ классов xmatrix Delphi 3 06.08.2007 01:07
Использование C++ классов из native DLL в .NET C# cubereality .NET 1 02.02.2007 12:43
Тестирование неинтерфейсных классов c++ С/С++ 9 20.10.2005 17:38
Сериализация объектов в MFC Гость из-за бугра Visual C++ 2 19.07.2005 10:48
Диаграмма классов что это такое Sosed Общие вопросы создания ПО 2 30.06.2005 12:50
Экспорт классов из dll depressman Visual C++ 9 18.04.2005 11:57
Свойства классов Diver PHP 13 02.03.2005 12:38
Использование классов в VB из библиотеки DLL на С++ AntiGamer Visual Basic 1 21.02.2005 21:21
Создание классов на VC++ latyp Visual C++ 2 29.03.2004 10:32



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов