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
588 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!

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