如何解决自定义IOptions映射路径
我目前有一个Json配置文件,看起来像这样:
{
"MySettings" " {
"SomeSetting" : "SomeValue"
}
}
在理想世界中,我将拥有一个与相同结构匹配的类。但是,我需要将其映射到一个看起来像这样的类:
public class MySettingsUpdated
{
public string MyRenamedSetting {get;set;}
}
我已经在使用自定义ConfigurationProvider从配置文件中获取数据(出于各种原因),并且我可以在其中的预期路径中创建数据,但是如果可以进行装饰,这将使我的生活变得更加轻松具有某种类型的属性的新类,以便指定数据的来源。
有什么办法吗?
解决方法
static string data = @"
{
""class"": {
""property"" : ""some string!""
}
}";
class DTO
{
[JsonProperty("class")]
public Data Property { get; set; }
}
class Data
{
[JsonProperty("property")]
public string Value { get; set; }
}
static void Main(string[] args)
{
var result = JsonConvert.DeserializeObject<DTO>(data);
}
,
您可以使用.Bind()
界面上公开的IConfigurationSection
方法。
在课堂上看起来像
public class SomeClassDoingWork
{
private MyConfigClass MyConf = new MyConfigClass();
public SomeClassDoingWork(IConfiguration config)
{
config.GetSection("MySettings").Bind(MyConf);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。