我最近在研究 C# 中的反射,想知道是否可以使用具有键值对的字典来创建一个对象,并且该对象的变量名称为字典中每个键名和它们的键值。
我已经编写了一个方法,可以从字典中提取对象,该字典包含类属性的键和其值,即属性值。
我想知道如何实现这一点。
以下是我的方法,用于从一个对象中提取一个字典:
protected Dictionary<String, String> getObjectProperty(object objeto)
{
Dictionary<String, String> dictionary = new Dictionary<String, String>();
Type type = objeto.GetType();
FieldInfo[] field = type.GetFields();
PropertyInfo[] myPropertyInfo = type.GetProperties();
String value = null;
foreach (var propertyInfo in myPropertyInfo)
{
if (propertyInfo.GetIndexParameters().Length == 0)
{
value = (string)propertyInfo.GetValue(objeto, null);
value = value == null ? null : value;
dictionary.Add(propertyInfo.Name.ToString(), value);
}
}
return dictionary;
}