我有类 B 及其父类 A,两者都在命名空间 Domain 中。
然后我在命名空间 Reflect 中有一个 Reflection Util。
如果我使用这条线
instanceOfB.GetType().GetFields(BindingFlags.NonPublic
| BindingFlags.Public | BindingFlags.Instance );
找到所有字段(a&b),我只得到b。但是当我做a
受保护或公开我也找到它们。
我还需要做什么才能找到基类的私有字段?
这是记录的行为:
指定 BindingFlags.NonPublic 以在搜索中包含非公共字段(即私有字段、内部字段和受保护字段)。仅返回基类上的受保护字段和内部字段;不返回基类上的私有字段。
如果您需要获取私有字段,则需要询问基本类型。 (使用Type.BaseType找到基本类型,然后调用GetFields
关于这一点。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)