首頁 > 後端開發 > C++ > 反射可以存取私有類別欄位嗎?

反射可以存取私有類別欄位嗎?

Mary-Kate Olsen
發布: 2025-01-21 23:22:12
原創
786 人瀏覽過

Can Reflection Access Private Class Fields?

使用反射存取私有類別成員

問題:

是否可以使用反射來存取類別的私有字段,例如下面程式碼中的_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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板