Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Mengubah Suai Atribut Masa Jalan .NET Secara Dinamik?

Bolehkah Anda Mengubah Suai Atribut Masa Jalan .NET Secara Dinamik?

Susan Sarandon
Lepaskan: 2025-01-04 04:22:38
asal
360 orang telah melayarinya

Can You Modify .NET Runtime Attributes Dynamically?

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;
    }
}
Salin selepas log masuk

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);
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan