/// <summary> /// Чтение настроек из заданной секции app.config в класс настроек. /// </summary> /// <param name="sectionName">Имя секции.</param> /// <typeparam name="T">Класс настроек.</typeparam> /// <returns>Прочитанные настройки.</returns> public static T ReadFromSection <T>(string sectionName) { if (string.IsNullOrEmpty(sectionName)) { throw new ArgumentNullException(nameof(sectionName)); } var configuration = GetConfiguration(); var section = GetSection(configuration, sectionName); return(ConfigurationReader <T> .ReadFromCollection(section.Settings)); }
/// <summary> /// Чтение настроек из секции appSettings app.config в класс настроек. /// </summary> /// <typeparam name="T">Класс настроек.</typeparam> /// <returns>Прочитанные настройки.</returns> public static T ReadFromAppSettings <T>() { var configuration = GetConfiguration(); return(ConfigurationReader <T> .ReadFromCollection(configuration.AppSettings.Settings)); }
/// <summary> /// Создание класса настроек с инициализацией считанных параметров в конструктор. /// </summary> /// <param name="keyValueCollection">Коллекция прочитанных настроек.</param> /// <returns>Объект класса настроек с прочитанными параметрами из конфига.</returns> /// <typeparam name="T">Класс настроек.</typeparam> public static T ReadFromCollection(KeyValueConfigurationCollection keyValueCollection) { var configurationReader = new ConfigurationReader <T>(keyValueCollection); return(configurationReader.ReadFromCollection()); }