使用反射访问私有类成员
问题:
是否可以使用反射来访问类的私有字段,例如下面代码中的_bar
字段?
<code class="language-csharp">class Foo { [SomeAttribute] private string _bar; public string BigBar { get { return this._bar; } } }</code>
解决方案:
是的,反射允许访问私有字段。 以下是如何使用 BindingFlags
检索私有字段:
<code class="language-csharp">FieldInfo[] fields = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);</code>
BindingFlags.NonPublic
包括非公共成员(如私有字段),并且 BindingFlags.Instance
确保仅返回实例字段。然后,fields
数组将包含私有 _bar
字段。
以上是反射可以访问私有类字段吗?的详细内容。更多信息请关注PHP中文网其他相关文章!