Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, sleepwalker, Вы писали:
S>>Хочется сделать универсальный Config-класс для различных приложений и Config, естественно, будет меняться от одного к другому. Как тут быть?
AVK>Простого ответа на этот вопрос у меня нет. А сложный на статью тянет, если не больше.
А хотябы ссылочки каки-нить кинуть? )) Можна и на буржуйском. Наверняка есть что-то.
ЗЫ
У меня пока одна мысль сделать генерик Config<T>(), где то самое T и будет конкертика для конкретного приложения.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, sleepwalker, Вы писали:
S>>А хотябы ссылочки каки-нить кинуть? )) Можна и на буржуйском. Наверняка есть что-то.
AVK>Ссылочков нету. Есть частично готовый код, но без документации, и частично портированный на C# 3. Если интересно, могу выслать на мыло.
Очень интересно.
Если не жалко, sleepwalker@ngs.ru, буду признателен и всякое такое. :)
S>>ЗЫ S>>У меня пока одна мысль сделать генерик Config<T>(), где то самое T и будет конкертика для конкретного приложения.
AVK>Это ничего особого не даст. Экономить на паре строчек подъема XmlSerializer не вижу смысла.
Ну пара не пара. Со всякими фенечками и обработками там вылазит около сотни этих самых строчек. Хотя, конечно, хочется, чтобы было все красиво )
Здравствуйте, AndrewVK, Вы писали:
AVK>Есть частично готовый код, но без документации, и частично портированный на C# 3. Если интересно, могу выслать на мыло.
Интересно. Заранее благодарен.
Что-то немного не догоняю: а зачем класс PropDispNameWrapper и вообще весь этот длиннющий исходник в разделе "Изменение названий свойств в PropertyGrid"?..
Чем не устраивает стандартный атрибут "DisplayName" из System.ComponentModel?..
Изучил вашу статью — оч. полезная оказалась, как раз стоит такая задача у меня.
Нужно в xml файле хранить информацию о контроллах, которые будут динамически загружаться на форму при запуске программы.
Т.е. храним тип контролла, расположение, размеры и проч. Я сделал этот файл с помощью DataTable(в которой 1строка — 1 контролл, ячейки — свойства контролла) и XmlSerializer.
А как можно было бы для решения использовать Ваш класс Config.
Здравствуйте, Андрей Корявченко, Вы писали:
АК>Не секрет, что практически каждое приложение требует каких-то настроек. Данная статья рассказывает об одном из возможных способов реализации механизма их хранения и редактирования. Исходные коды взяты из реального приложения, RSDN@Home, оффлайн-клиента для форумов www.rsdn.ru....
в статье приведен пример генерируемого XML файла конфигурации
[Category("Application")]
[DefaultValue("Title1")]
[Description("Enter Title for the application")]
свойств
public string Title
{
get { return _Title; }
set { _Title = (string) value; }
}
класса конфигурации участвуют в сиреализации?
по статье я создал примерчик (без использования синглтона) Сериализация класса для PropertyGrid. По результатам выполнения которого следует, что атрибуты при сериализации не используются. Как тогда у вас образовалась иерархия в xml конфиге?
Насколько я помню эти атрибуты участвуют в отображении данного конфига в редакторе (в формочке) PropertyGrid. Эти атрибуты указывают как xml будет биндится к PropertyGrid (какое будет дефолтное значение, как будет выглядеть и т.п.)