我目前設置我所有的類對象Record
的值。C#迭代通過類屬性
這是我使用的填充此刻的紀錄,財產屬性的代碼。
// Loop through each field in the result set
for (int i = 0; i <= resultItems.Length; i++)
{
Record newRecord = new Record()
{
itemtype = resultItems[i - (fieldCount - 0)],
itemdesc = resultItems[i - (fieldCount - 1)],
prodcode = resultItems[i - (fieldCount - 2)],
proddesc = resultItems[i - (fieldCount - 3)],
curstat = resultItems[i - (fieldCount -4)],
totfree = resultItems[i - (fieldCount -5)],
totphys = resultItems[i - (fieldCount -6)],
pcolgroup = resultItems[i - (fieldCount -7)],
scolgroup = resultItems[i - (fieldCount -8)],
totpo = resultItems[i - (fieldCount - 9)],
totso = resultItems[i - (fieldCount - 10)],
quality = resultItems[i - (fieldCount - 11)],
statusdesc = resultItems[i - (fieldCount - 12)],
groupcode = resultItems[i - (fieldCount - 13)],
qualitydes = resultItems[i - (fieldCount - 14)],
pcoldesc = resultItems[i - (fieldCount - 15)],
scoldesc = resultItems[i - (fieldCount - 16)],
pgroupdesc = resultItems[i - (fieldCount - 17)],
};
}
我可以動態地迭代每個屬性而不用硬編碼所有的屬性名稱嗎?
事情是這樣:
// Create new Record instance
Record newRecord = new Record();
for (int e = 0; e < propertyCount.Length - 1; e++)
{
newRecord[fieldname] = resultItems[i - (fieldCount - e)];
}
您是否嘗試過反射? http://stackoverflow.com/questions/997747/c-sharp-reflection-accessing-the-fields-of-a-struct – kol
請看看這個鏈接http://stackoverflow.com/questions/721441/c -sharp-how-to-ite-through-classes-fields-and-set-properties –
你能解釋一下你想在哪裏以及如何維護一個屬性和resultItems數組中索引之間的關係? –