Rumah >pembangunan bahagian belakang >C++ >Bolehkah Anda Mengubah Sifat Atribut Secara Dinamik Selepas Muatan Pemasangan?

Bolehkah Anda Mengubah Sifat Atribut Secara Dinamik Selepas Muatan Pemasangan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-01 00:13:10231semak imbas

Can You Dynamically Change Attribute Properties After Assembly Load?

Sifat Atribut Mengubah Suai Secara Dinamik

Adakah mungkin untuk mengubah parameter atribut selepas pemasangan telah dimuatkan? Pertimbangkan kelas berikut:

public class UserInfo
{
    [Category("change me!")]
    public int Age
    {
        get;
        set;
    }
    [Category("change me!")]
    public string Name
    {
        get;
        set;
    }
}

Walaupun merupakan kelas vendor pihak ketiga (melarang pengubahsuaian kod), anda ingin mengubah suai nama kategori "ubah saya" apabila mengikat tika pada grid harta benda.

Penyelesaian:

Nilai contoh atribut boleh diubah suai secara dinamik di masa jalan. Dapatkan contoh atribut:

ASCII[] attrs1 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);

Ubah suai pembolehubah awamnya:

attrs1[0].MyData = "A New String";

Buat tika lain untuk menunjukkan perubahan:

ASCII[] attrs3 = (ASCII[])typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
MessageBox.Show(attrs3[0].MyData);

Rujukan: http:/ /www.vsj.co.uk/articles/display.asp?id=713

Atas ialah kandungan terperinci Bolehkah Anda Mengubah Sifat Atribut Secara Dinamik Selepas Muatan Pemasangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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