В моей web.config, я пробойная секцию конфигурации в отдельные файлы:.NET получить пользовательский раздел конфигурации как NameValueCollection
<appSettings configSource="AppSettings.config" />
<mySettings configSource="MySettings.config" />
Затем я использую ConfigurationManager для получения параметров:
NameValueCollection appSettings = System.Configuration.ConfigurationManager.AppSettings;
NameValueCollection удобно, потому что я могу сделать:
var someSetting = appSettings["someSetting"];
Я хотел бы сделать то же самое для с Выборочная разделы конфигурации, но я не могу понять, как получить NameValueCollection:
Configuration configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConfigurationSection section = configuration.GetSection("mySettings");
KeyValueConfigurationCollection mySettings = ((AppSettingsSection)section).Settings;
KeyValueConfigurationCollection также работает для получения индивидуальных настроек:
var mySetting = mySettings["mySetting"].Value
но я хотел бы, чтобы представить все мои конфигурации разделов одного и того же типа для передачи в общие процедуры обработки.
Как получить имяValueCollection для настраиваемого раздела конфигурации?
Рассматривали ли вы просто построение методов расширения для обоих так интерфейс * sytactically * то же самое? –
Но мне нужно передать объекты в конструктор, который принимает один параметр ... – BaltoStar
Дело в том, что эти методы расширения будут доступны из любого места. Итак, вы пройдете один из них, и методы расширения будут работать. –