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