2014-02-27 85 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關心評論? ... –

相關問題