我有类B和其父类A,在命名空间Domain中。
- 类A有一个私有字段a;
- 类B有一个私有字段b;
然后我有一个位于Reflect名称空间中的反射工具。如果我使用下面这行代码:
instanceOfB.GetType().GetFields(BindingFlags.NonPublic
| BindingFlags.Public | BindingFlags.Instance );
当我尝试查找所有字段(a和b)时,只能获取到b。但是当我将a
设置为protected或public时,也可以找到它们。
我需要做什么才能找到基类的私有字段?
BindingFlags.DeclaredOnly
来避免获取从基类继承的字段。 - Jon Skeet