Rumah > pembangunan bahagian belakang > C++ > Bolehkah C# Reflection Mengubah Nilai Harta Persendirian daripada String?

Bolehkah C# Reflection Mengubah Nilai Harta Persendirian daripada String?

Mary-Kate Olsen
Lepaskan: 2025-01-05 03:25:39
asal
669 orang telah melayarinya

Can C# Reflection Change Private Property Values from a String?

Bolehkah Refleksi Mengubah Nilai Harta daripada Input Rentetan?

Menggunakan refleksi dalam C#, anda boleh mengakses ahli peribadi kelas, termasuk sifatnya . Ini membolehkan anda memanipulasi nilai asas sifat ini, walaupun terdapat sekatan aksesnya.

Contoh: Menetapkan Nilai Harta Secara Reflektif

Pertimbangkan kod berikut:

string propertyName = "first_name";
// Assume there's a property named first_name in the class
Salin selepas log masuk

Untuk menetapkan nilai sifat ini menggunakan pantulan, ikut ini langkah:

  1. Dapatkan maklumat hartanah menggunakan Reflection:

    Type propertyType = typeof(TargetClass);
    PropertyInfo propertyInfo = propertyType.GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance);
    Salin selepas log masuk
  2. Gunakan kaedah SetValue untuk mengubah nilai hartanah:

    object targetObject = new TargetClass();
    propertyInfo.SetValue(targetObject, "New Value", null);
    Salin selepas log masuk

Nota: Dalam contoh di atas, TargetClass mewakili kelas yang mengandungi sifat first_name. Untuk mengakses harta peribadi atau dilindungi, laraskan BindingFlags dalam GetProperty() dengan sewajarnya.

Atas ialah kandungan terperinci Bolehkah C# Reflection Mengubah Nilai Harta Persendirian daripada String?. 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