[英]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.