Heim > Backend-Entwicklung > C++ > Können Sie .NET-Laufzeitattribute dynamisch ändern?

Können Sie .NET-Laufzeitattribute dynamisch ändern?

Susan Sarandon
Freigeben: 2025-01-04 04:22:38
Original
368 Leute haben es durchsucht

Can You Modify .NET Runtime Attributes Dynamically?

Anpassung von Laufzeitattributen

In der Entwicklung kommt es zu Situationen, in denen Attribute während der Laufzeit geändert werden müssen, trotz Einschränkungen durch Drittanbieter. Betrachten wir eine Klasse mit Attributen wie:

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

Ändern von Instanzen zur Laufzeit

Entgegen der Annahme können Attributinstanzen zur Laufzeit geändert werden. Indem wir die Attributinstanzen abrufen, können wir Wertänderungen wie folgt vornehmen:

ASCII[] attrs1 = (ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
attrs1[0].MyData = "A New String";
MessageBox.Show(attrs1[0].MyData);
Nach dem Login kopieren

Unveränderte Attributwerte beibehalten

Es ist wichtig zu beachten, dass dies bei nachfolgenden Aufrufen zum Abrufen von Attributinstanzen der Fall ist von der Laufzeitänderung nicht betroffen sein:

ASCII[] attrs3 = (ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
 MessageBox.Show(attrs3[0].MyData); // Original value
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKönnen Sie .NET-Laufzeitattribute dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage