Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mendapatkan nama dan nilai atribut untuk sifat menggunakan Refleksi .NET?

Bagaimana untuk mendapatkan nama dan nilai atribut untuk sifat menggunakan Refleksi .NET?

Susan Sarandon
Lepaskan: 2025-01-29 07:48:08
asal
792 orang telah melayarinya

How to Retrieve Attribute Name and Value for Properties using .NET Reflection?

<.> Teknik menggunakan refleksi .NET untuk mendapatkan nama dan nilai atribut

Artikel ini membincangkan cara menggunakan mekanisme refleksi .NET untuk mengekstrak pasangan nilai nama. Kami mengambil kelas yang dipanggil sebagai contoh.

<:> Soalan: Book Memandangkan jenis, bagaimana menggunakan refleksi untuk mendapatkan nama ciri setiap atribut dan nilai yang berkaitan? Name Author Penyelesaian:

public class Book
{
    [Author("AuthorName")]
    public string Name { get; private set; }
}
Salin selepas log masuk

Gunakan ciri -ciri atribut akses refleksi, sila ikuti langkah -langkah di bawah:

Gunakan untuk mendapatkan array contoh

, yang mewakili semua sifat jenis ini. melintasi setiap

, dan gunakan

untuk mengambil array ciri tersuai yang digunakan pada atribut.

    Penapis ciri -ciri yang dikembalikan untuk mengenal pasti ciri -ciri jenis yang diperlukan (contohnya,
  1. di sini). typeof(Book).GetProperties() PropertyInfo Dapatkan nama atribut dari contoh , dan dapatkan nilai ciri dari ciri -ciri yang diiktiraf.
  2. PropertyInfo Contoh -contoh berikut menyedari penciptaan kamus, yang memaparkan nama nama atribut kepada nama pengarangnya yang berkaitan: GetCustomAttributes()
  3. Dengan menggunakan refleks, kita boleh memeriksa sifat -sifat dan mengekstrak data ciri khas secara dinamik, supaya dapat memahami metadata yang berkaitan dengan kod. AuthorAttribute

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nama dan nilai atribut untuk sifat menggunakan Refleksi .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan