我有類B和它的父類A,都在名稱空間域中。如何通過反射獲得類的私有字段及其父類?
- A類,有私人領域a;
- B類,有私人領域b;
然後,我在名稱空間反射中使用了Reflection Util。 如果我用這條線
instanceOfB.GetType().GetFields(BindingFlags.NonPublic
| BindingFlags.Public | BindingFlags.Instance);
來找到所有字段(一& b)中,我得到的僅有B。但是,當我讓a
受保護或公開我也找到他們。
我還需要做些什麼才能找到基類的私有字段?
請允許我問多一點:當我去遞歸通過量的類層次結構,如何讓我可以確信,我只有一次獲得每個領域(甚至是父母的公共領域)? – Ralph 2011-05-06 12:28:33
@Ralph:你可以使用'BindingFlags.DeclaredOnly'來*避免*獲取從基類繼承的字段。 – 2011-05-06 12:30:00
喬恩Skeet:非常感謝 – Ralph 2011-05-06 13:54:10