我在XYZ包中有一个课说:
public class Temp
{
string a;
string b;
string c;
}
同一个包中的另一个类:
public class Other
{
public int id {get; set;}
public Temp temp {get;set;}
}
现在,其他类的Temp
和id
变量的值来自另一个项目的appsettings.json
,如下所示:
...some settings
"Other":{
"id":2
"Temp":{
"a":"Hey",
"b":"Hello",
"c":"Bye"
}
},
...rest of the settings
现在,在包扩展类中,我试图将值设置为:
id = configuration.GetValue<int>("Other:id"); // 2 here
Temp = configuration.GetValue<Temp>("Other:Temp"); //null here
不确定为什么这个值没有设定。
我尝试过:Temp = configuration.GetSection("Other:Temp")
但是无法将其转换为Temp类型的实例。
有没有办法实现这个目标? 提前谢谢。
答案 0 :(得分:0)
通过添加:
解决了这个问题Temp = new Temp
{
a = configuration.Get<string>("Other:Temp:a"),
b = configuration.Get<string>("Other:Temp:b"),
c = configuration.Get<string>("Other:Temp:c")
}