Rumah >pembangunan bahagian belakang >C++ >Bolehkah Anda Mengubah Suai Atribut Masa Jalan .NET Secara Dinamik?
Penyesuaian Atribut Masa Jalan
Dalam pembangunan, situasi timbul apabila atribut perlu diubah suai semasa masa jalan, walaupun pengehadan dikenakan oleh vendor pihak ketiga. Mengambil kira kelas dengan atribut seperti:
public class UserInfo { [Category("change me!")] public int Age { get; set; } [Category("change me!")] public string Name { get; set; } }
Mengubah suai Kejadian pada Masa Jalan
Bertentangan dengan persepsi, tika atribut boleh diubah suai semasa masa jalan. Dengan mendapatkan contoh atribut, kami boleh membuat pengubahsuaian nilai seperti:
ASCII[] attrs1 = (ASCII[]) typeof(MyClass).GetCustomAttributes(typeof(ASCII), false); attrs1[0].MyData = "A New String"; MessageBox.Show(attrs1[0].MyData);
Memelihara Nilai Atribut Tidak Berubah
Adalah penting untuk ambil perhatian bahawa seruan berikutnya untuk mendapatkan kejadian atribut akan tidak terjejas oleh pengubahsuaian masa jalan:
ASCII[] attrs3 = (ASCII[]) typeof(MyClass).GetCustomAttributes(typeof(ASCII), false); MessageBox.Show(attrs3[0].MyData); // Original value
Atas ialah kandungan terperinci Bolehkah Anda Mengubah Suai Atribut Masa Jalan .NET Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!