Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Medan Peribadi Menggunakan Refleksi dalam C#?

Bagaimanakah Saya Boleh Mengakses Medan Peribadi Menggunakan Refleksi dalam C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 23:06:13866semak imbas

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

Mengakses Ahli Persendirian melalui Reflection dalam C#

Panduan ini menunjukkan cara untuk mengakses medan peribadi dalam kelas C# menggunakan pantulan, walaupun apabila medan itu dihiasi dengan atribut tersuai. Kami akan memintas keperluan untuk hartanah awam dengan menggunakan bendera mengikat khusus.

Penyelesaian:

Untuk mencari medan peribadi "_bar" (dengan mengandaikan kewujudannya dalam kelas anda), gunakan bendera BindingFlags.NonPublic dan BindingFlags.Instance dalam kaedah GetFields:

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

Coretan kod ini akan mengembalikan tatasusunan FieldInfo objek yang mewakili semua medan tika bukan awam kelas. Pemprosesan selanjutnya akan diperlukan untuk mengenal pasti medan "_bar" khusus berdasarkan nama atau atributnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Medan Peribadi Menggunakan Refleksi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn