|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
||||||||||||||||
Запись и чтение XML21.10.2011, 16:02. Показов 7675. Ответов 19
Метки нет (Все метки)
Нужно сохранить в XML файл объект класса CPolygon, через saveFileDialog. Как это можно сделать?
0
|
||||||||||||||||
| 21.10.2011, 16:02 | |
|
Ответы с готовыми решениями:
19
Чтение и запись xml Чтение и запись xml файла
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 21.10.2011, 21:42 | ||||||
|
Используйте System.Xml.Serialization.XmlSerializer
Если сериализировать собираетесь много раз за время работы программы, рекомендую создавать объект XmlSerializer один раз при запуске или при первой сериализации, т.к. создание этого объекта - довольно дорогое удовольствие.
1
|
||||||
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
| 21.10.2011, 23:15 | |
|
kolorotur, А вот и нет
![]() Он кешируется сам, действительно создается он только 1 раз для конкретного типа
1
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 22.10.2011, 11:36 | ||
|
m0nax, как часто бывает, отчасти правы вы, отчасти неправ я.
При использовании конструкторов с аргументами Type или Type, String - да, сборка создается один раз и потом повторно используется для данного типа. При использовании других конструкторов, каждый раз создается новая копия сборки и не выгружается автоматически, что приводит к деградации производительности и утечки памяти. Цитата с MSDN:
0
|
||
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
||||||
| 28.10.2011, 22:36 [ТС] | ||||||
There was an error reflecting type 'System.Collections.Generic.List`1 [Polygons.CPolygon]'. Что не так и как исправить?
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 28.10.2011, 23:23 | ||
|
Ловите исключение в отладчике и разворачивайте свойства InnerException, пока они не станут null и смотрите значения Message. Все сразу станет ясно. Как найдете - запостите сюда, а то интересно.
0
|
||
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
|
| 29.10.2011, 12:45 [ТС] | |
|
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.10.2011, 13:30 | |
|
Вот и ваш ответ.
Одно из требований к классу для сериализации его через XmlSerializer - наличие дефолтного конструктора; то есть конструктора, не принимающего никаких параметров.
0
|
|
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
||||||
| 29.10.2011, 13:32 [ТС] | ||||||
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.10.2011, 17:57 | |
|
Так точно
0
|
|
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
|
| 29.10.2011, 17:58 [ТС] | |
|
он присутствует, но ничего не меняется(
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.10.2011, 18:40 | |
|
Выбрасывает такое же исключение?
0
|
|
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
|
| 29.10.2011, 18:44 [ТС] | |
|
да, точно такое же.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.10.2011, 18:57 | |
|
Выложите сюда код класса CPolygon - глянем что там у вас не так
0
|
|
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
||||||
| 29.10.2011, 18:58 [ТС] | ||||||
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 29.10.2011, 19:02 | |
|
А как выглядят классы CLine и Point?
0
|
|
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
|
| 29.10.2011, 19:06 [ТС] | |
|
CLine как в 1ом посте, Point стандартный из Drawing.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 29.10.2011, 19:23 | ||
|
Вы посмотрите внимательнее на исключение: раньше оно ругалось на CPolygon, а сейчас наверняка ругается на CLine
1
|
||
|
1 / 1 / 2
Регистрация: 18.08.2010
Сообщений: 76
|
|
| 29.10.2011, 19:39 [ТС] | |
|
Спасибо большое.
Теперь бы еще разобраться с чтением из файла)
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 29.10.2011, 19:47 | ||||||
|
С чтением тоже все просто:
1
|
||||||
| 29.10.2011, 19:47 | |
|
Помогаю со студенческими работами здесь
20
Чтение из xml, запись в csv
Запись и чтение xml файла в datagrid Запись/чтение в поток/из потока xml Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|