2014-02-27 86 views
1

如何迭代对象的所有值类型并将其转换为字典?我正在反思的方式将对象的值类型转换为字典<string,string>

obj.GetType().GetProperties() 

但它给出了值类型和引用类型。

+0

字典中的关键字(属性名称?)和值(序列化为某物的值)是什么? – Grozz

回答

2

你可以使用的PropertyInfoTypeIsValueType属性:

obj.GetType().GetProperties().Where(x => x.PropertyType.IsValueType) 

它添加到字典变为:

foreach (var propertyInfo in obj.GetType().GetProperties().Where(x => x.PropertyType.IsValueType)) { 
    dictionary.Add(propertyInfo.Name, propertyInfo.GetValue(obj)); 
} 

其中关键是名称和值是值obj实例。

+0

也许你仍然很忙,但我错过了字典;) – Silvermind

+0

OP没有说使用字典是问题..所以我没有包括这一点。另外,我还需要更多来自OP的信息,以确定包含该部分的确切要求。 –

+1

Downvoter关心评论? ... –

相关问题