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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2010, 10:54   #1
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию Проблема с серилизацией

Код:
        public class torrents
        {
            public Dictionary<string, bool> torrentsDict;
            public bool has_element(string torrname)
            {
                    if (torrentsDict.ContainsKey(torrname))
                    {
                        return true;
                    }
                    return false;
            }
            public torrents()
            {
                torrentsDict = new Dictionary<string, bool>();
            }
            public void add(string torrname)
            {
                torrentsDict.Add(torrname, true);
            }
            public void add(string torrname,bool enabled)
            {
                torrentsDict.Add(torrname, enabled);
            }
            public Dictionary<string,bool> getTorrents()
            {
                return torrentsDict;
            }
        }
пытаюсь сохранить в XML файл

Код:
        public bool serIt()
        {
            try
            {
                XmlWriter writer = new XmlTextWriter("ser.xml",Encoding.UTF8);
                XmlSerializer serializer = new XmlSerializer(typeof(torrents));
                serializer.Serialize(writer, tors);
                writer.Close();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Ошибка серилизации", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }
Выдаёт: Возникла ошибка при отражении типа supernatural.Form1.torrents
Namolem вне форума Ответить с цитированием
Старый 17.05.2010, 10:15   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Проблема из-за того, что ты сериализуешь Dictionary. В .NET это не сериализуемый тип. Варианта 2:
- использовать другой тип данных
- написать класс сериализуемого Dictionary (велосипед не изобретай, взять можно отсюда http://weblogs.asp.net/pwelter34/arc...03/444961.aspx)
Hollander вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37