我有一個類繼承了另一個類。我想使用反射來遍歷屬性並將值寫入文件。沒問題。除此之外我想控制屬性寫出的順序。有沒有一種乾淨的方式來做到這一點?現在,問題1是子類中的屬性寫出來,然後父類中的proepries寫出來。而且,我可能想要跳過一些屬性或僅對其重新排序。控制返回反射屬性值的順序的最佳方法是什麼?
這裏是我現在的代碼...
foreach (PropertyInfo bp in t.GetProperties())
{
Type pt = bp.PropertyType;
if ((pt.IsArray) && pt.FullName == "System.Char[]")
{
char[] caPropertyValue;
caPropertyValue = (char[])(bp.GetValue(oBatch, null));
string strPropertyValue = new string(caPropertyValue);
myBatch.Add(strPropertyValue);
}
}
您可以添加一個自定義屬性,該屬性具有您可以設置的某種排序字段,然後使用反射查找該屬性,然後生成這些PropertyInfos/Attribute對的列表並按Order字段排序。 – 2009-12-23 14:08:38
爲什麼你通過評論回答? :) – 2009-12-23 14:13:38