Heim > Backend-Entwicklung > C++ > Wie kann ich mithilfe von Reflection in C# auf private Felder zugreifen?

Wie kann ich mithilfe von Reflection in C# auf private Felder zugreifen?

Patricia Arquette
Freigeben: 2025-01-21 23:06:13
Original
828 Leute haben es durchsucht

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

Zugriff auf private Member über Reflection in C#

Diese Anleitung zeigt, wie Sie mithilfe von Reflektion auf ein privates Feld innerhalb einer C#-Klasse zugreifen, selbst wenn das Feld mit einem benutzerdefinierten Attribut versehen ist. Wir umgehen die Notwendigkeit öffentlicher Eigenschaften, indem wir spezifische Bindungsflags verwenden.

Lösung:

Um das private Feld „_bar“ zu finden (vorausgesetzt, es existiert in Ihrer Klasse), verwenden Sie die Flags BindingFlags.NonPublic und BindingFlags.Instance innerhalb der GetFields-Methode:

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

Dieses Code-Snippet gibt ein Array von FieldInfo-Objekten zurück, die alle nicht öffentlichen Instanzfelder der Klasse darstellen. Anschließend wäre eine weitere Verarbeitung erforderlich, um das spezifische „_bar“-Feld anhand seines Namens oder Attributs zu identifizieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Reflection in C# auf private Felder zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage