首頁 >後端開發 >C++ >如何在 C# 中使用反射存取私有欄位?

如何在 C# 中使用反射存取私有欄位?

Patricia Arquette
Patricia Arquette原創
2025-01-21 23:06:13893瀏覽

How Can I Access Private Fields Using Reflection in C#?

在 C# 中透過反射存取私有成員

本指南示範如何使用反射存取 C# 類別中的私有字段,即使該字段是用自訂屬性修飾的。 我們將透過使用特定的綁定標誌來繞過對公共屬性的需求。

解:

要找到私有欄位「_bar」(假設它存在於您的類別中),請在 BindingFlags.NonPublic 方法中使用 BindingFlags.InstanceGetFields 標誌:

<code class="language-csharp">FieldInfo[] fields = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);</code>

此程式碼片段將傳回一個 FieldInfo 物件數組,表示該類別的所有非公共實例欄位。 然後需要進一步處理以根據其名稱或屬性識別特定的“_bar”欄位。

以上是如何在 C# 中使用反射存取私有欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn