gpt4 book ai didi

c# - 从哈希表创建对象 C#

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:46 24 4
gpt4 key购买 nike

在 C# 中给定一个像 {id:'1', name:'foo'}

这样的哈希表

如何动态创建具有相同成员的类的实例?

public class product {
public int id;
public string name;
}

我知道我会遇到选角问题,但我稍后会处理这些问题。现在我什至无法根据哈希表的键访问类的成员。我这样做的方式正确吗?

这就是我目前的处理方式。

product p = new product();
Type description = typeof(product);
foreach (DictionaryEntry d in productHash)
{
MemberInfo[] info = description.GetMember((string)d.Key);
//how do I access the member of p based on the memberInfo I have?
//p.<?> = d.Value;
}

谢谢

最佳答案

首先,您需要将成员作为属性进行访问。然后,您可以向属性询问特定实例的值:

PropertyInfo property = description.GetProperty((string) d.Key);

object value = property.GetValue(p, null);

第二个参数是索引,只有属性为indexer时才会生效.

关于c# - 从哈希表创建对象 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307148/

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