Configuration 如何在.Net Core中创建分层内存配置
我想创建一个分层的内存配置,使用嵌套字典填充Configuration 如何在.Net Core中创建分层内存配置,configuration,.net-core-2.1,Configuration,.net Core 2.1,我想创建一个分层的内存配置,使用嵌套字典填充IConfiguration。我目前的做法是这样的 我有一本这样的字典: var inMemConfig = new Dictionary<string, object>(); inMemConfig["section1"] = new Dictionary<string, string>(); inMemConfig["section2"] = new Dictionary<string, object>(); i
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>();
这显然会导致编译器错误,inMemConfig
的类型必须为:IEnumerable
不可能在内存中创建分层配置吗?如果是这样的话,任何指向正确方向的指针都是值得赞赏的。谢谢。您可以使用冒号(:)作为分隔符来指示配置中的层次结构。例如:
var builder = new ConfigurationBuilder();
var configuration = builder.AddInMemoryCollection(new Dictionary<string, string> {
["deepNest:list"] = "some_nested_list_value",
["deepNest:dict"] = "some_nested_dict_value"
}).Build();
var builder=new ConfigurationBuilder();
var configuration=builder.AddInMemoryCollection(新字典{
[“deepNest:list”]=“一些嵌套的列表值”,
[“deepNest:dict”]=“一些嵌套的dict值”
}).Build();
var builder = new ConfigurationBuilder();
var configuration = builder.AddInMemoryCollection(new Dictionary<string, string> {
["deepNest:list"] = "some_nested_list_value",
["deepNest:dict"] = "some_nested_dict_value"
}).Build();