Heim > Backend-Entwicklung > C++ > Wie kann ich Eigenschaftswerte in C# dynamisch nach Namen abrufen?

Wie kann ich Eigenschaftswerte in C# dynamisch nach Namen abrufen?

Mary-Kate Olsen
Freigeben: 2025-01-06 17:15:49
Original
928 Leute haben es durchsucht

How Can I Dynamically Retrieve Property Values in C# by Name?

Abruf von Eigenschaftswerten nach Namen

Auf die Eigenschaftswerte eines Objekts kann über ihren jeweiligen Namen zugegriffen werden, was die programmgesteuerte Manipulation und den Abruf von Daten ermöglicht. In bestimmten Szenarien ist es wünschenswert, Eigenschaftswerte dynamisch basierend auf variablen Eigenschaftsnamen abzurufen. In dieser Frage wird eine Methode zum Erreichen einer solchen Funktionalität untersucht.

Methode:

Die folgende C#-Methode nutzt Reflektion, um den Eigenschaftswert eines Objekts basierend auf einer angegebenen Eigenschaft zu erhalten Name:

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

Verwendung:

Um den Wert von abzurufen die „Make“-Eigenschaft aus dem „car“-Objekt:

string make = GetPropertyValue(car, "Make");
Nach dem Login kopieren

Implementierung:

Die Methode funktioniert wie folgt:

  1. Eigenschaftsinformationen ermitteln: Mithilfe der GetProperty-Methode für den Objekttyp werden die Metadaten der Eigenschaft ermittelt erhalten.
  2. Eigenschaftswert abrufen: Die GetValue-Methode wird für die Eigenschaftsinformationen aufgerufen, um den tatsächlichen Wert zu extrahieren.
  3. Standardparameter angeben: Die Der Nullparameter in GetValue gibt an, dass auf die Eigenschaft direkt im Objekt zugegriffen wird, ohne dass etwas übergeben wird Parameter.

Zusätzliche Punkte:

  • Diese Methode funktioniert sowohl für öffentliche als auch für private Eigenschaften, sofern sie über Getter verfügen.
  • Reflexion kann sich auf die Leistung auswirken. Setzen Sie sie daher mit Bedacht ein, um eine optimale Effizienz zu erzielen.
  • Für komplexere Szenarien können benutzerdefinierte Implementierungen erstellt werden um Eigentumsarten, Vererbung usw. zu verwalten.

Das obige ist der detaillierte Inhalt vonWie kann ich Eigenschaftswerte in C# dynamisch nach Namen abrufen?. 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