Wie man die privaten Felder der Klasse und der übergeordneten Klasse(N) durch die Reflexion?
Ich habe die Klasse B und der übergeordneten Klasse Ein, sowohl im namespace Domain.
- Klasse A, hat das private Feld ein;
- Klasse B, hat das private Feld b;
Dann habe ich eine Reflexion im namespace Util Reflektieren.
Wenn ich diese Zeile
instanceOfB.GetType().GetFields(BindingFlags.NonPublic
| BindingFlags.Public | BindingFlags.Instance );
finden Sie alle Felder (a & b), bekomme ich nur b. Aber wenn ich a
geschützt oder öffentlich finde ich Sie auch.
Was muss ich tun, um zu finden, die privaten Felder der Basisklasse zu?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die dokumentierte Verhalten:
Wenn Sie brauchen, um die private Felder, die Sie benötigen, zu Fragen der Basis-Typ. (Verwenden Sie
- Typ.BaseType
zu finden, die Basis-Typ, und rufen SieGetFields
auf, dass.)BindingFlags.DeclaredOnly
zu vermeiden erste Felder geerbt von Basisklassen.B
stammen ausA
.