Heim >Backend-Entwicklung >C++ >Wie kann Reflection zum dynamischen Festlegen von Eigenschaftswerten in C# verwendet werden?
Verwenden von Reflection zum Ändern von Eigenschaftswerten
Reflection, eine leistungsstarke .NET Framework-Funktion, bietet die Möglichkeit, Objekte und ihre Mitglieder zu überprüfen und zu ändern dynamisch. In diesem Zusammenhang untersuchen wir, wie Reflektion genutzt werden kann, um den Wert einer bestimmten Eigenschaft innerhalb einer C#-Klasse festzulegen.
Stellen Sie sich ein Szenario vor, in dem Sie den Namen einer Eigenschaft kennen, z. B. „Vorname“. und möchten seinen Wert mithilfe dieser Zeichenfolge ändern. Reflection bietet eine Lösung für dieses Problem.
Um das gewünschte Ergebnis zu erzielen, können die folgenden Schritte unternommen werden:
Das bereitgestellte Codebeispiel veranschaulicht diesen Ansatz:
class Person { public string Name { get; set; } } class Test { static void Main(string[] arg) { Person p = new Person(); var property = typeof(Person).GetProperty("Name"); property.SetValue(p, "Jon", null); Console.WriteLine(p.Name); // Jon } }
Wenn die Zugänglichkeit der Eigenschaft nicht öffentlich ist, geben Sie BindingFlags wie gezeigt an:
var property = typeof(Person).GetProperty("Name", BindingFlags.NonPublic | BindingFlags.Instance);
Mit Hilfe von Reflektion wird das dynamische Festlegen von Eigenschaftswerten zu einem machbaren Unterfangen und bietet Flexibilität bei der Codemanipulation und Laufzeit Verhalten.
Das obige ist der detaillierte Inhalt vonWie kann Reflection zum dynamischen Festlegen von Eigenschaftswerten in C# verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!