Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengambil Nilai Harta Secara Dinamik dalam C# mengikut Nama?

Bagaimanakah Saya Boleh Mengambil Nilai Harta Secara Dinamik dalam C# mengikut Nama?

Mary-Kate Olsen
Lepaskan: 2025-01-06 17:15:49
asal
928 orang telah melayarinya

How Can I Dynamically Retrieve Property Values in C# by Name?

Pendapatan Nilai Harta mengikut Nama

Nilai harta objek boleh diakses dengan nama masing-masing, membolehkan manipulasi program dan mendapatkan semula data. Dalam senario tertentu, adalah wajar untuk mendapatkan semula nilai harta secara dinamik berdasarkan nama harta boleh ubah. Soalan ini meneroka kaedah untuk mencapai kefungsian sedemikian.

Kaedah:

Kaedah C# berikut memanfaatkan pantulan untuk mendapatkan nilai sifat objek berdasarkan sifat yang ditentukan nama:

public string GetPropertyValue(object obj, string propertyName)
{
    return obj.GetType().GetProperty(propertyName).GetValue(obj, null);
}
Salin selepas log masuk

Penggunaan:

Kepada dapatkan semula nilai sifat "Buat" daripada objek "kereta":

string make = GetPropertyValue(car, "Make");
Salin selepas log masuk

Pelaksanaan:

Kaedah ini berfungsi seperti berikut:

  1. Tentukan Maklumat Harta: Menggunakan kaedah GetProperty pada jenis objek, metadata harta diperolehi.
  2. Dapatkan Nilai Harta: Kaedah GetValue dipanggil pada maklumat harta untuk mengekstrak nilai sebenar.
  3. Nyatakan Parameter Lalai: Parameter nol dalam GetValue menunjukkan bahawa harta itu diakses terus pada objek, tanpa menghantar sebarang parameter.

Mata Tambahan:

  • Kaedah ini berfungsi untuk kedua-dua harta awam dan persendirian, dengan syarat mereka mempunyai pengambil.
  • Refleksi boleh memberi kesan kepada prestasi, jadi gunakannya dengan bijak untuk kecekapan optimum.
  • Untuk senario yang lebih kompleks, pelaksanaan tersuai boleh dicipta untuk mengendalikan jenis harta, warisan, dsb.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengambil Nilai Harta Secara Dinamik dalam C# mengikut Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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