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

Wie rufe ich Eigenschaftswerte dynamisch nach Namen in C# ab?

Susan Sarandon
Susan SarandonOriginal
2025-01-06 16:54:40363Durchsuche

How to Dynamically Retrieve Property Values by Name in C#?

Eigenschaftswerte nach Namen in C abrufen

In C# tritt ein häufiges Szenario auf, bei dem man dynamisch auf den Wert einer Eigenschaft eines Objekts basierend auf seinem Namen zugreifen muss . Dies kann für generische Programmierung oder reflexionsbasierte Szenarien nützlich sein.

Um dies zu erreichen, können Sie die Reflection-Funktionen von .NET nutzen. So geht's:

public string GetPropertyValue(string propertyName)
{
    // Retrieve the type of the object
    Type type = car.GetType();

    // Obtain the property information based on its name
    PropertyInfo property = type.GetProperty(propertyName);

    // Invoke the `GetValue` method to retrieve the property value
    object value = property.GetValue(car, null);

    // Return the property value as a string
    return value.ToString();
}

In dieser Methode:

  • car.GetType() ruft den Typ des Autoobjekts ab.
  • type.GetProperty(propertyName) ruft die PropertyInfo des angegebenen Eigenschaftsnamens ab.
  • property.GetValue(car, null) ruft die GetValue-Methode auf, um den Eigenschaftswert abzurufen, und übergibt das Autoobjekt und null für die optionalen Parameter.
  • Der Eigenschaftswert wird als Zeichenfolge zurückgegeben.

Verwenden Sie diese Methode für Wenn Sie ein Autoobjekt mit dem Eigenschaftsnamen „Make“ erstellen, wird der Wert „Ford“ zurückgegeben. Dieser Ansatz ermöglicht eine flexible und dynamische Abfrage von Eigenschaftswerten in C#.

Das obige ist der detaillierte Inhalt vonWie rufe ich Eigenschaftswerte dynamisch nach Namen in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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