Heim > Backend-Entwicklung > C++ > Wie kann ich mithilfe von Reflection dynamisch auf Eigenschaftswerte in C# zugreifen?

Wie kann ich mithilfe von Reflection dynamisch auf Eigenschaftswerte in C# zugreifen?

Mary-Kate Olsen
Freigeben: 2025-01-06 16:22:40
Original
840 Leute haben es durchsucht

How Can I Dynamically Access Property Values in C# Using Reflection?

Eigenschaftswerte dynamisch basierend auf Eigenschaftsnamen erhalten

Bei der Arbeit mit Objekten und der Bearbeitung ihrer Eigenschaften ist die Fähigkeit zum Abrufen von häufig eine Anforderung Legen Sie den Wert einer bestimmten Eigenschaft dynamisch basierend auf ihrem Namen fest. Dies ermöglicht Flexibilität und Wiederverwendbarkeit des Codes in verschiedenen Szenarien.

Dynamic Property Value Retrieval

In C# kann Reflektion verwendet werden, um diese Funktionalität zu erreichen. Hier ist eine Beispielimplementierung einer Methode, die den Wert einer Eigenschaft basierend auf ihrem Namen ermitteln kann:

public string GetPropertyValue(object obj, string propertyName)
{
    return obj.GetType().GetProperty(propertyName).GetValue(obj, null);
}
Nach dem Login kopieren

Diese Methode verwendet ein Objekt und den Namen der Eigenschaft als Argumente. Es verwendet Reflektion, um das PropertyInfo-Objekt abzurufen, das dem angegebenen Eigenschaftsnamen zugeordnet ist. Anschließend wird die GetValue-Methode des PropertyInfo-Objekts verwendet, um den tatsächlichen Wert der Eigenschaft für das angegebene Objekt abzurufen.

Verwendung:

Um diese Methode zu verwenden, müssen Sie einfach Folgendes tun: Geben Sie ein Objekt und den Eigenschaftsnamen an, für den Sie den Wert abrufen möchten. Zum Beispiel:

var car = new Car { Make = "Ford" };
string make = GetPropertyValue(car, "Make");
Nach dem Login kopieren

In diesem Beispiel wird die GetPropertyValue-Methode verwendet, um den Wert der Make-Eigenschaft des Autoobjekts abzurufen. Das Ergebnis wird der Make-Variablen zugewiesen, die den Wert „Ford“ enthält.

Dieser Ansatz bietet eine vielseitige und dynamische Möglichkeit, auf Eigenschaftswerte zuzugreifen, was ihn für Szenarien wie Serialisierung, Datenbindung usw. nützlich macht. oder benutzerdefinierte Eigenschaften-Setter und -Getter.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Reflection dynamisch auf Eigenschaftswerte in C# zugreifen?. 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