c# - 将 appsettings.json 数组部分绑定到具有泛型列表属性的泛型类
问题描述
我必须使用从 appsettings.json 读取一些值IOptionsSnapshot
并通过 API 端点返回它们
"adConfig": [
{
"id": 3,
"adDef": [
{
"type": "number",
"key": "somekey",
"displayName": "Rules",
"values": [
0,
1
],
"regex": null
},
{
"type": "select",
"key": "anotherkey",
"displayName": "Some state",
"values": [
"some string value",
"another string value"
],
"regex": null
}
]
},
{
"id": 1
....
}
]
为此,我创建了 2 个用于绑定设置的类。
public class AdDataModel<T>
{
public string type { get; set; }
public string key{ get; set; }
public string displayName { get; set; }
public List<T> Values { get; set; }
public string regex { get; set; }
}
public class AdConfigurationModel
{
public int Id{ get; set; }
public List<AdDataModel<dynamic>> AdDefinition { get; set; }
}
在 Startup.cs 中,我使用此代码将设置绑定到类:
services.Configure<List<AdConfigurationModel>>(Configuration.GetSection("adConfig"));
到目前为止,一切都很好。我将它注入到 Controller 类中,但问题是AdDataModel.Values
类型object<string>
不同(小节的第一个元素不是这种情况adDef:Values
)。有什么方法可以实现来自类型int
或string
基于 appsettings.json 中的值的值?
谢谢!
解决方案
推荐阅读
- python - 为字典列表中的每个字典调用一个函数
- exception-handling - 使用 SML 处理和打印异常
- java - 我无法在 MacOS 中编译和运行 Java 包。有人可以帮我编译吗?
- arrays - 外壳:CSV 到数组
- python - Selenium + Python:xpath 定位器的 InvalidSelectorException
- microsoft-graph-api - /beta MS Graph /sites/lists lastModifiedDateTime 错误?
- javascript - javascript严格模式下的全局变量
- reactjs - 在构建时在 JSX 中嵌入 SVG?
- javascript - 在使用 Oracle ADF 时,如何设法检测特定输入文本上的按键
- c++ - 编译 libfluid 示例控制器时对“event_base_del_virtual”的未定义引用