Как получить доступ к классу настроек приложения из библиотеки dll?

244
03 декабря 2017, 10:39

Имеется приложение и подключенная к нему библиотека. Необходимо из библиотеки изменить некоторые настройки (user settings)

Answer 1

Окей, проблема в том, что стандартный тип Settings, генерируемый для .NET-приложений — специфический класс, лежащий внутри самого класса приложения, и значит, библиотека не может на него ссылаться. Простое решение — передавать в библиотеку его базовый тип System.Configuration.ApplicationSettingsBase.

Проблема лишь в том, что у вас не будет типизированного доступа к свойствам, так что вам придётся получать доступ по строковым именам. Вместо int-свойства settings.Х у вас будет object-индексатор settings["X"].

Получится как-то так:

(Библиотека)

public void ProcessSettings(System.Configuration.ApplicationSettingsBase settings)
{
    settings["X"] = 2;
    settings.Save();
}

(Приложение)

Library.ProcessSettings(Properties.Settings.Default);
READ ALSO
Неправильное отображение Версии Windows

Неправильное отображение Версии Windows

Всем приветРаботаю с Visual Studio 2012 и на Windows 10

275
Реализовать placeholder в UserControl

Реализовать placeholder в UserControl

Доброго времени суток, всемЯ так понимаю, в WPF нет контрола, который будет похож на TextBox и иметь свойство placeholder'а

297
Установка selectItem после удаления элемента

Установка selectItem после удаления элемента

Имеется простой listBox, с него пользователь может удалить выбранные элементы, те

255
Изменения стиля внутренних контролов у UserControl'а

Изменения стиля внутренних контролов у UserControl'а

Подскажите пожалуйста, как правильно делают такие вещиУ меня есть UserControl - SearchBox, который собран из TextBox и Button

258