Heim > Backend-Entwicklung > C++ > Wie kann Reflexion Eigenschaftenwerte von Zeichenfolgen in C#abrufen?

Wie kann Reflexion Eigenschaftenwerte von Zeichenfolgen in C#abrufen?

Susan Sarandon
Freigeben: 2025-02-02 19:31:11
Original
822 Leute haben es durchsucht

How Can Reflection Retrieve Property Values from Strings in C#?

Nutzung von C# Reflexion, um auf Eigenschaftswerte aus Zeichenfolgen zuzugreifen

Reflexion in C# bietet eine dynamische Möglichkeit, zur Laufzeit mit Objekten zu interagieren. Eine gemeinsame Anwendung ist das Abrufen von Eigenschaftswerten, wenn Sie ihre Namen nur als Zeichenfolgen haben.

Diese Technik ist besonders nützlich, wenn es sich um dynamische Daten oder Konfigurationen handelt, bei denen Eigenschaftennamen zum Kompilierzeit nicht bekannt sind.

Verwenden Sie Type.GetProperty() und GetValue()

Der Kern dieses Ansatzes liegt in den Methoden Type.GetProperty() und GetValue(). Hier ist eine kurze Funktion, die dies zeigt:

public static object GetPropertyValue(object obj, string propertyName)
{
    Type type = obj.GetType();
    PropertyInfo property = type.GetProperty(propertyName);
    return property?.GetValue(obj);
}
Nach dem Login kopieren

Diese Funktion nimmt ein Objekt und einen Eigenschaftsnamen (als Zeichenfolge) und gibt den Wert der Eigenschaft zurück. Der Null-Conditional Operator (?.) behandelt Fälle, in denen die Eigenschaft nicht existiert, und verhindert Ausnahmen.

Praktisches Beispiel

veranschaulichen wir seine Verwendung:

public class MyClass
{
    public string MyProperty { get; set; }
}

// ... later in your code ...

string className = "MyClass";
string propertyName = "MyProperty";

object instance = Activator.CreateInstance(Type.GetType(className));
object propertyValue = GetPropertyValue(instance, propertyName); 
Nach dem Login kopieren

Dieses Beispiel erstellt dynamisch eine Instanz von MyClass und ruft den Wert von MyProperty mit der GetPropertyValue -Funktion ab. Dies beseitigt die Notwendigkeit für den Zugriff auf festkodierende Eigenschaften und verbessert die Code -Flexibilität.

Das obige ist der detaillierte Inhalt vonWie kann Reflexion Eigenschaftenwerte von Zeichenfolgen in C#abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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