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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2014, 15:38   #1
Slap
Пользователь
 
Регистрация: 03.09.2010
Сообщений: 25
Радость Не получается сериализовать красно-чёрное дерево. C#

Добрый день! Уже несколько недель бьюсь над этой проблемой и не могу понять, что именно не работает. Пытаюсь сериализовать массив следующих узлов
Код:
public class RedBlackNode
    {
        
        public static int RED = 0;
        
 
        public static int BLACK = 1;
    
        private IComparable ordKey;
    
        private int intColor;
        // left node 
        
        private RedBlackNode rbnLeft;
        
        // right node 
        private RedBlackNode rbnRight;
        
        // parent node 
        private RedBlackNode rbnParent;
        
        private int x;
        
        private int y;
        public override string ToString()
        {
            return this.Y.ToString();
        }
    [XmlAttribute()]
        public int X
        {
            get
            {
                return x;
            }
            set
            {
                x = value;
            }
        }
    [XmlAttribute()]
        public int Y
        {
            get
            {
                return y;
            }
            set
            {
                y = value;
            }
        }
       [XmlAttribute()]
        public IComparable Key
        {
            get
            {
                return ordKey;
            }
 
            set
            {
                ordKey = value;
            }
        }
        [XmlAttribute()]
        public int Color
        {
            get
            {
                return intColor;
            }
 
            set
            {
                intColor = value;
            }
        }
        [XmlElement]
        public RedBlackNode Left
        {
            get
            {
                return rbnLeft;
            }
 
            set
            {
                rbnLeft = value;
            }
        }
 
        
        ///<summary>
        /// Right
        ///</summary>
        ///
        [XmlElement]
        public RedBlackNode Right
        {
            get
            {
                return rbnRight;
            }
 
            set
            {
                rbnRight = value;
            }
        }
        [XmlElement]
        public RedBlackNode Parent
        {
            get
            {
                return rbnParent;
            }
 
            set
            {
                rbnParent = value;
            }
        }
       
        public RedBlackNode()
        {
            Color = RED;
           
        }
        
    }
Вот собственно сериализуемый объект для XML сериализации
Код:
public class SerializableObject
    {
        private ArrayList Content = new ArrayList();
        [XmlArray]
        [XmlArrayItem(typeof(RedBlackNode))]
        public List<RedBlackNode> Cont
        {
            get
            {
                return Content;
            }
        }
        public SerializableObject() { }
    }
Для binary сериализации
Код:
namespace Учебная_практика
{
    [Serializable]
    public class SerializableObject
    {

        
        public ArrayList Cont { get; set; }
    }
}
При XML сериализации появляется ошибка - "Возникла ошибка при отражении типа..."
При Binary десериализации другая ошибка - "Выдано исключение типа "System.OutOfMemoryException"
Буду признателен за любую помощь
Slap вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сериализовать/десериализовать экземпляры классов в файл kspower92 C# (си шарп) 3 19.03.2014 10:15
красно-черные деревья Даsha Помощь студентам 0 27.04.2012 17:37
Красно-черное дерево CodeNOT Общие вопросы C/C++ 2 16.05.2011 11:19
Красно-черное дерево(RB-Tree) Mixim Общие вопросы C/C++ 1 26.12.2010 16:58
сериализовать и вывести на экран байтовый поток olka1198 Общие вопросы по Java, Java SE, Kotlin 1 28.10.2009 15:20