【问题标题】:How can I read an dynamic object from Microsoft.Extensions.Configuration.IConfiguration如何从 Microsoft.Extensions.Configuration.IConfiguration 读取动态对象
【发布时间】:2021-02-27 01:21:43
【问题描述】:

我使用 .net core 3.1。

我在 appsetting.json 中有一个 json 设置:

{
  "genericObject":{
    "A": [ "B", "C"],
    "D": [ "ABC", "CCC"]
  }
}

我已将 appsetting.json 文件加载到Microsoft.Extensions.Configuration.IConfiguration

如何从IConfiguration 加载object 实例? 我试过了

_Configuration.GetSection("genericObject").Get<object>();
_Configuration.GetValue<object>("genericObject")

两者都失败了。我不想创建一个类来加载 json 设置,因为它可能会改变。

【问题讨论】:

    标签: c# json .net configuration


    【解决方案1】:

    答案是否定的,配置绑定器需要属性名称,它不能只是为您创建像 json.net 这样的动态类型。

    当然,您可以创建自己的活页夹和专门的配置源和提供程序,但是您错过了此功能的重点。它是一个配置系统,它接受具体类型并将它们从配置源和提供者绑定,而后者又被松散地设计为与 IOptions 接口一起使用并被注入。

    所以你的下一个问题是如何解决IOptions&lt;object/dynamic&gt;,这在编译时没有意义。

    如果您需要其他任何东西,只需从 json.net 或类似网站滚动您的配置阅读器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2023-02-04
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      相关资源
      最近更新 更多