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!