反射未找到嵌套类型的受保护字段

时间:2011-04-01 17:54:44

标签: c# .net reflection

我有一个类,它有一个受保护的嵌套类,以及一个嵌套类类型的受保护的只读字段。 我的框架调用

o.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic);

在该类型的实例上,我可以从调试器中看到该字段,但该调用不会返回它。为什么呢?

2 个答案:

答案 0 :(得分:11)

您还需要加入BindingFlags.Instance

  

实例 - 指定该实例   成员将被列入   搜索范围。

BindingFlags Enumeration (System.Reflection)

答案 1 :(得分:3)

如果它是非静态字段,您还应指定BindingFlags.Instance

如果它是静态字段,请添加BindingFlags.StaticBindingFlags.FlattenHierarchy