在 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/