Я хотел бы создать иерархическую конфигурацию в памяти по принципу использования вложенного словаря для заполнения IConfiguration
. Мой нынешний подход примерно такой.
У меня есть такой словарь:
var inMemConfig = new Dictionary<string, object>();
inMemConfig["section1"] = new Dictionary<string, string>();
inMemConfig["section2"] = new Dictionary<string, object>();
inMemConfig["deepNest"] = new Dictionary<string, object>();
// Excluding a cast below:
inMemConfig["deepNest"]["list"] = new List<Dictionary<string, string>>();
inMemConfig["deepNest"]["dict"] = new Dictionary<string string>();
После заполнения вышеуказанного словаря я пытаюсь использовать ConfigurationBuilder
, как показано ниже.
var builder = new ConfigurationBuilder();
var configuration = builder.AddInMemoryCollection(inMemConfig).Build();
Это, очевидно, приводит к ошибке компилятора, что inMemConfig
должен иметь тип: IEnumerable<KeyValuePair<string, string>>
.
Разве нельзя создавать иерархические конфигурации в памяти, и если да, то любые указатели в правильном направлении очень ценятся. Спасибо.