Rumah >pembangunan bahagian belakang >C++ >Bolehkah Reflection Mengubah Nilai Harta C# Diberikan Namanya?
Soalan:
Adakah layak menggunakan pantulan untuk mengubah nilai hartanah dalam C# , memandangkan nama harta itu ialah diketahui?
Jawapan:
Semestinya, refleksi membolehkan kefungsian ini. Begini cara untuk mencapainya:
using System; 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 } }
Nota: Jika harta sasaran bukan awam, anda perlu menggunakan BindingFlags.NonPublic | BindingFlags.Instance semasa mengambil harta itu.
Atas ialah kandungan terperinci Bolehkah Reflection Mengubah Nilai Harta C# Diberikan Namanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!