GetType () ruft keine Felder ab. GetFields with BindingFlag.Default

Ich benutze die Reflection-Klassen, um alle Felder in einem bestimmten Objekt abzurufen. Mein Problem ist jedoch, dass es perfekt funktioniert, wenn sich die Felder in einer normalen Klasse befinden, wie zum Beispiel:

class test
{
   string test1 = string.Empty;
   string test2 = string.Empty;
}

Hier bekomme ich sowohl test1 als auch test2, mein Problem ist, dass ich Abstraktion benutze und somit mehrere Klassen kombiniere.

Ich habe so etwas wie:

class test3 : test2
{
   string test4 = string.Empty;
   string test5 = string.Empty;
}

class test2 : test1
{
   string test2 = string.Empty;
   string test3 = string.Empty;
}
class test1
{
   string test0 = string.Empty;
   string test1 = string.Empty;
}

Aber wenn ich es leite, bekomme ich die Felder nicht zurück von derGetType().GetFields(BindingFlag.Default).

Jeder dieser Felder hat auch eine Eigenschaft,get; set; angehängt an. Wenn ich den Code ausführe, werden die Eigenschaften bis zu test1 zurückgegeben, jedoch nicht die tatsächlichen Felder.

Dies ist der Code, mit dem ich versuche, die Felder abzurufen:

FieldInfo[] fields = Obj.GetType().GetFields(BindingFlags.Default);
foreach (FieldInfo field in fields)

Ich habe auch versucht:

FieldInfo[] fields = Obj.GetType().GetFields(BindingFlags.Public 
                                             | BindingFlags.Instance 
                                             | BindingFlags.NonPublic 
                                             | BindingFlags.Static);

Ich benutze den gleichen Code für die Eigenschaften:

PropertyInfo[] properties = Obj.GetType().GetProperties(BindingFlags.Public 
                                             | BindingFlags.Instance 
                                             | BindingFlags.NonPublic 
                                             | BindingFlags.Static);

foreach (PropertyInfo property in properties)

Irgendwelche Ideen, warum ich die Eigenschaften von den abstrahierten Klassen bekomme, aber nicht die Felder?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage