[英]C# strongly typed ConfigurationBuilder List<object> from appsettings
真的在为这个苦苦挣扎——它应该这么难吗?!
我的 appsettings 中有一个简单的 object 数组:
"AppSettings": {
"Names": [
{
"Id": "1",
"Name": "Mike"
},
{
"Id": "2",
"Name": "John"
}
]
}
然后我有一个 class
public class AppSettings
{
public List<Names> Names { get; set; } = new List<Names>();
}
public class Names
{
public string Id { get; set; }
public string Name { get; set; }
}
我在我的应用设置中读到:
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appSettings.json").Build();
var config = new AppSettings();
这就是出错的地方:
config.Names = configuration.GetSection("AppSettings:Names") //<<<< what do I do here?
似乎它都与IConfigurationSection
相关,这没有帮助。
使用ConfigurationBinder.Get<T>
扩展从设置中获取整个 object 图。
ConfigurationBinder.Get<T>
绑定并返回指定的类型。ConfigurationBinder.Get<T>
可能比使用ConfigurationBinder.Bind
更方便。 以下代码显示如何将ConfigurationBinder.Get<T>
与AppSettings
class 一起使用:
//...
AppSettings config = configuration.GetSection("AppSettings").Get<AppSettings>();
//...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.