使用反射存取.NET 中的私有欄位
反射提供了一個強大的機制來檢查 .NET 類別的內部元件並與之互動。 一個常見的應用程式是存取和修改私有成員,例如欄位。此範例示範如何尋找名為「_bar」的私有字段,該字段標有自訂 [SomeAttribute]
屬性。
關鍵是使用 BindingFlags
枚舉。 此解結合了 BindingFlags.NonPublic
和 BindingFlags.Instance
標誌,如下所示:
<code class="language-csharp">FieldInfo[] fields = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);</code>
BindingFlags.NonPublic
指示 GetFields
在其搜尋中包含私人字段,而 BindingFlags.Instance
將搜尋限制為實例字段(不包括靜態字段)。 這種有針對性的方法可確保您找到“_bar”欄位並獲取其詳細信息,包括任何關聯的屬性。
以上是如何在 C# 中使用反射存取具有特定屬性的名為「_bar」的私有欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!