Frage:
Ist es möglich, Reflection zu verwenden, um den Wert einer Eigenschaft in C# zu ändern? , vorausgesetzt, der Eigenschaftsname ist bekannt?
Antwort:
Absolut, Reflexion ermöglicht diese Funktionalität. So erreichen Sie es:
using System; 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 } }
Hinweis: Wenn die Zieleigenschaft nicht öffentlich ist, müssen Sie BindingFlags.NonPublic | verwenden BindingFlags.Instance beim Abrufen der Eigenschaft.
Das obige ist der detaillierte Inhalt vonKann Reflection den Wert einer C#-Eigenschaft anhand ihres Namens ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!