2010-10-08 67 views
0

在C#中的字段信息我有导出以下列方式类:获取继承

MyClass1 <- MyClass2 <- MyClass3 <- MyClass4 (The root class is MyClass1) 

现在我有MyClass4 myClass4的一个实例。如何获得在MyClass2中声明的私人字段信息?我可以执行以下操作:

FieldInfo[] fields = model.GetType().BaseType.BaseType. 
         GetFields(BindingFlags.NonPublic | BindingFlags.Instance); 
foreach (FieldInfo fld in field) 
{ 
    .... 
} 

如果继承级别未知,该怎么办?

回答

1

你知道你正在寻找一个领域在MyClass2?如果是这样,请继续阅读CurrentType.BaseType,直到CurrentType == typeof(MyClass2)

督察

Type lCurrentType = model.GetType(); 
while (lCurrentType != typeof(MyClass2) && lCurrentType != null) 
{ 
    lCurrentType = lCurrentType.BaseType; 
}