Gunakan atribut kelas akses refleksi
<:> Soalan:
Bagaimana untuk mendapatkan senarai semua atribut kelas?
Jawapan: Refleksi menyediakan penyelesaian kepada masalah ini. Untuk contoh yang diberikan, anda boleh menggunakan kod berikut:
Untuk mengakses atribut yang berkaitan dengan jenis, sila gunakan:
1 | obj. GetType ().GetProperties();
|
Salin selepas log masuk
Pertimbangkan contoh berikut Kategori:
1 | typeof(Foo).GetProperties();
|
Salin selepas log masuk
untuk mengambil dan memaparkan nilai atribut objek FOO yang baru:
1 2 3 4 | class Foo {
public int A {get;set;}
public string B {get;set;}
}
|
Salin selepas log masuk
<注意> Langkah berjaga -jaga lain:
1 2 3 4 | Foo foo = new Foo {A = 1, B = "abc" };
foreach ( var prop in foo. GetType ().GetProperties()) {
Console.WriteLine( "{0}={1}" , prop.Name, prop.GetValue(foo, null));
}
|
Salin selepas log masuk
Untuk mengambil nilai atribut statik, sila lulus Null sebagai parameter pertama untuk mendapatkan nilai.
- Untuk memasukkan atribut bukan awam, sila gunakan logo mengikat berbutir yang lebih nipis, contohnya:
Ini akan mengambil semua atribut contoh awam dan swasta. -
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan sifat kelas menggunakan refleksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!