Heim >Backend-Entwicklung >C++ >Wie kann ich Eigenschaftswerte in .NET mithilfe von Reflection dynamisch abrufen?
Eigenschaftswerte dynamisch mithilfe des Eigenschaftsnamens abrufen
Der programmgesteuerte Zugriff auf Eigenschaftswerte kann in verschiedenen Szenarien nützlich sein, beispielsweise bei der dynamischen Objektmanipulation oder der Datenserialisierung . In .NET können Sie dies mithilfe von Reflektion erreichen.
Um den Wert einer Eigenschaft basierend auf ihrem Namen abzurufen, können Sie die GetProperty-Methode der Type-Klasse verwenden. Es verwendet den Eigenschaftsnamen als Parameter und gibt ein PropertyInfo-Objekt zurück. Dieses Objekt stellt die angegebene Eigenschaft dar und ermöglicht Ihnen die Manipulation ihres Verhaltens und ihrer Daten.
Um den Eigenschaftswert zu erhalten, können Sie die GetValue-Methode des PropertyInfo-Objekts aufrufen. Diese Methode verwendet das Objekt, von dem der Wert abgerufen werden soll, und ein Array optionaler Indexwerte (das für nicht indizierte Eigenschaften normalerweise null ist).
Hier ist ein Beispiel, das zeigt, wie eine Methode geschrieben wird, die Eigenschaftswerte abruft Name:
public string GetPropertyValue(object obj, string propertyName) { var property = obj.GetType().GetProperty(propertyName); return (string)property.GetValue(obj, null); }
In der angegebenen Beispielklasse können Sie diese Methode wie folgt aufrufen:
var car = new Car { Make="Ford" }; var make = GetPropertyValue(car, "Make");
Dadurch wird der Wert der Make-Eigenschaft zugewiesen (Ford) zur Make-Variable. Beachten Sie, dass der Eigenschaftswert als Objekt zurückgegeben wird und möglicherweise in den entsprechenden Typ umgewandelt werden muss.
Das obige ist der detaillierte Inhalt vonWie kann ich Eigenschaftswerte in .NET mithilfe von Reflection dynamisch abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!