Menggunakan Refleksi untuk Mengubah Suai Nilai Harta
Refleksi, ciri rangka kerja .NET yang berkuasa, memberikan keupayaan untuk memeriksa dan mengubah suai objek dan ahlinya secara dinamik. Dalam konteks ini, kami akan meneroka cara pantulan boleh dimanfaatkan untuk menetapkan nilai sifat tertentu dalam kelas C#.
Pertimbangkan senario di mana anda mengetahui nama sifat, seperti "nama_pertama," dan ingin mengubah suai nilainya menggunakan rentetan ini. Refleksi menyediakan penyelesaian kepada masalah ini.
Untuk mencapai hasil yang diinginkan, langkah berikut boleh diambil:
Sampel kod yang disediakan mencontohi pendekatan ini:
class Person { public string Name { get; set; } } class Test { static void Main(string[] arg) { Person p = new Person(); var property = typeof(Person).GetProperty("Name"); property.SetValue(p, "Jon", null); Console.WriteLine(p.Name); // Jon } }
Jika kebolehcapaian harta itu bukan untuk umum, nyatakan BindingFlags seperti yang ditunjukkan:
var property = typeof(Person).GetProperty("Name", BindingFlags.NonPublic | BindingFlags.Instance);
Dengan bantuan refleksi, menetapkan nilai harta secara dinamik menjadi boleh dilaksanakan berusaha, menawarkan fleksibiliti dalam manipulasi kod dan gelagat masa jalan.
Atas ialah kandungan terperinci Bagaimanakah Refleksi Boleh Digunakan untuk Menetapkan Nilai Harta Secara Dinamik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!