仅使用字符串导航对象即可获取嵌套对象中的属性值

时间:2019-11-14 17:17:14

标签: c#

说我有Object1,它具有Object2的列表,而Object2的列表具有Object3,它的Property1是我想要的值。是否有可能在我的数据库中有一个字符串,例如“ Object1.Object2 [0] .Object3.Property1”,然后以某种方式在代码中使用该字符串来导航该对象并获取我想要的属性的值?我正在获取要从另一个api导航到的对象,而我基本上想查看我的数据库并查看property1必须大于10,然后动态地能够导航该对象,以便我可以查看对象中的值是否符合我的条件在我的数据库中。我希望能够为此使用数据库值,以便我们可以将字段添加到数据库中而无需更新代码。这可能吗?

2 个答案:

答案 0 :(得分:0)

是的,绝对有可能。您希望Object1是一个动态对象,以便您可以使用变量(例如)访问其属性。 Object1["Object2"][0]。然后,您所需要做的就是为数据库字符串制定出一致的格式,以您的示例为例,您可以将.分开,并使用循环依次访问和存储结果中的每个属性。

请参阅this问题以获取有关来自JSON的动态对象的信息(假设这是您从API接收的格式),或者如果您更喜欢使用反射,则this问题中应包含有关该信息的信息

答案 1 :(得分:0)

我找到了一个nuget包,可以完全满足我的要求。 https://stackoverflow.com/a/51584615