Мне нужно разбить настройки приложения на два файла: один для доступа к внешним ресурсам, таким как общая папка или URL-адрес веб-службы, а другой — для всего остального.
Чтобы сделать доступ к конфигурации простым в коде, я добавил новый файл настроек, названный ExternalResourceSettings
. Эти файлы настроек являются производными от ApplicationSettingsBase
.
Как я могу загрузить объект этого класса из определенного файла конфигурации?
Для пояснения, ExternalResourceSettings выглядит следующим образом:
internal sealed partial class ExternalResourceSettings: global::System.Configuration.ApplicationSettingsBase {
...
}
Класс ConfigurationManager может загрузить любой файл конфигурации в объект Config в 3 строки:
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = "Some path";
// Get the mapped configuration file
var config =ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
Но как преобразовать его в ExternalResourceSettings? Или можно загрузить ExternalResourceSettings из определенного файла другим способом?
Примечание. Конструктор по умолчанию ExternalResourceSettings считывает данные из файла конфигурации по умолчанию.