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

发布于 2024-10-30 08:03:03 字数 223 浏览 1 评论 0原文

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

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

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

I have a class, which has a protected nested class, and a protected readonly field of the nested class' type.
My framework calls

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

on an instance of the type, I can see the field from debugger, but the call doesn't return it. Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁把谁当真 2024-11-06 08:03:03

您还需要包含 BindingFlags.Instance

实例 - 指定该实例
成员应被纳入
搜索。

来自

BindingFlags 枚举 (System.Reflection)

You also need to include BindingFlags.Instance

Instance - Specifies that instance
members are to be included in the
search.

from

BindingFlags Enumeration (System.Reflection)

划一舟意中人 2024-11-06 08:03:03

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

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

You should also specify BindingFlags.Instance if it's a non-static field.

If it's a static field, add BindingFlags.Static and BindingFlags.FlattenHierarchy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文