
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;
}
}Ä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);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 valueDas 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!
Die Seitenzahl von Word beginnt auf der dritten Seite als 1 Tutorial
Drei häufig verwendete Kodierungsmethoden
Verwendung der Accept-Funktion
Welche Java-Workflow-Engines gibt es?
So binden Sie Daten in einer Dropdown-Liste
Was ist die C-Programmiersoftware?
Was ist CONNECTION_REFUSED
So lösen Sie 400 fehlerhafte Anfragen