|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.07.2011, 12:59 | #1 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
XML-сериализация проблемных классов (Font, Color, и т. д)
Широко известна проблема, связанная с тем, что некоторые стандартные классы по тем или иным причинам не могут быть сериализованы. Например, Font не имеет конструктора без параметров. В MSDN можно найти пример обхода этой проблемы - класс-оболочка на 100 строк кода. Я нашёл гораздо более простой вариант - использовать TypeDescriptor.GetConverter() для преобразования объекта в строку. Этот вариант занимает всего несколько строчек, и практически незаметен при рефакторинге. В файл сохраняются только те свойства шрифта, которые отличаются от умолчаний.
Код:
Код HTML:
<?xml version="1.0" encoding="utf-8"?> <Options xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <fontSerializable>Arial; 46pt</fontSerializable> </Options> |
18.07.2011, 20:12 | #2 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Насчёт Font согласен, хотя мы в проекте просто выносили нужные нам свойства, чтобы что-нибудь лишнее не тащить.
А вот Color этож от 1-й до 4-х циферек всего-то. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Canvas.Font.Style := Label.Font.Style; не выходит | ArtGrek | Общие вопросы Delphi | 3 | 23.02.2011 19:55 |
TStaticText и свойства Color / Font.Color | Bad-XxX | Общие вопросы Delphi | 1 | 02.10.2010 19:53 |
CheckBox->Font->Color | MBentefor | Общие вопросы C/C++ | 2 | 21.04.2010 01:48 |
XML Сериализация | ds.Dante | Общие вопросы .NET | 0 | 21.10.2009 13:09 |
xml сериализация ???? | Maladoj | Общие вопросы .NET | 2 | 28.03.2009 12:06 |