gpt4 book ai didi

c# - 当属性名称是动态的时使用 ExpandoObject,这可能吗?

转载 作者:行者123 更新时间:2023-12-05 08:34:12 25 4
gpt4 key购买 nike

我需要创建一个对象,该对象具有动态命名的属性,例如:

<users>
<user1name>john</user1name>
<user2name>max</user2name>
<user3name>asdf</user3name>
</users>

这可能吗?

最佳答案

是的,绝对是。只需将其用作 IDictionary<string, object>填充:

IDictionary<string, object> expando = new ExpandoObject();
expando["foo"] = "bar";

dynamic d = expando;
Console.WriteLine(d.foo); // bar

在您的 XML 案例中,您将遍历元素,例如

var doc = XDocument.Load(file);
IDictionary<string, object> expando = new ExpandoObject();
foreach (var element in doc.Root.Elements())
{
expando[element.Name.LocalName] = (string) element;
}

关于c# - 当属性名称是动态的时使用 ExpandoObject,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31566604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com