Bagaimana cara saya mendapatkan daftar semua properti kelas?
c#
.net
reflection
properties
nawfal
sumber
sumber
internal
properti juga. Mungkin saya satu-satunya yang terpaku padaprivate
/non-public
sintaks?using System.Reflection
arahan danSystem.Reflection.TypeExtensions
paket yang direferensikan - ini memberikan permukaan API yang hilang melalui metode ekstensiKamu bisa menggunakan Refleksi untuk melakukan ini: (dari perpustakaan saya - ini mendapatkan nama dan nilai)
Hal ini tidak akan berfungsi untuk properti dengan indeks - untuk itu (semakin sulit):
Juga, untuk mendapatkan hanya properti publik: ( lihat MSDN di BindingFlags enum )
Ini juga berfungsi pada tipe anonim!
Untuk mendapatkan namanya saja:
Dan hampir sama untuk nilai saja, atau Anda dapat menggunakan:
Tapi itu agak lambat, saya bayangkan.
sumber
t.GetProperties(BindingFlags.Instance | BindingFlags.Public)
ataut.GetProperties(BindingFlags.Static | BindingFlags.Public)
Fungsi ini untuk mendapatkan daftar Properti Kelas.
sumber
yield return
. Ini bukan masalah besar, tapi ini cara yang lebih baik untuk melakukannya.Anda bisa menggunakan
System.Reflection
namespace denganType.GetProperties()
mehod:sumber
Berdasarkan jawaban @ MarcGravell, berikut adalah versi yang berfungsi di Unity C #.
sumber
Itu solusi saya
sumber
Anda bisa menggunakan refleksi.
sumber
Saya juga menghadapi persyaratan semacam ini.
Dari diskusi ini saya mendapat Ide lain,
Ini juga menunjukkan nama properti.
ini menunjukkan sejumlah properti.
Terimakasih untuk semua. Ini diskusi yang bagus.
sumber
Inilah jawaban @lucasjones yang ditingkatkan. Saya menyertakan perbaikan yang disebutkan di bagian komentar setelah jawabannya. Saya harap seseorang akan menemukan ini berguna.
sumber