Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Medan Peribadi Bernama '_bar' dengan Atribut Khusus Menggunakan Refleksi dalam C#?
Menggunakan Refleksi untuk Mengakses Medan Peribadi dalam .NET
Reflection menawarkan mekanisme yang teguh untuk memeriksa dan berinteraksi dengan komponen dalaman kelas .NET. Aplikasi yang kerap mengakses dan mengubah suai ahli persendirian, seperti medan. Contoh ini menunjukkan cara untuk mencari medan peribadi bernama "_bar" yang ditandakan dengan atribut [SomeAttribute]
tersuai.
Kuncinya ialah menggunakan BindingFlags
penghitungan. Penyelesaian itu menggabungkan bendera BindingFlags.NonPublic
dan BindingFlags.Instance
, seperti yang digambarkan di bawah:
<code class="language-csharp">FieldInfo[] fields = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);</code>
BindingFlags.NonPublic
mengarahkan GetFields
untuk memasukkan medan peribadi dalam cariannya, manakala BindingFlags.Instance
mengehadkan carian kepada medan contoh (tidak termasuk medan statik). Pendekatan yang disasarkan ini memastikan anda menemui medan "_bar" dan mendapatkan butirannya, termasuk sebarang atribut yang berkaitan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Medan Peribadi Bernama '_bar' dengan Atribut Khusus Menggunakan Refleksi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!