Utiliser Reflection pour modifier les valeurs des propriétés
Reflection, une puissante fonctionnalité du framework .NET, offre la possibilité d'inspecter et de modifier des objets et leurs membres. dynamiquement. Dans ce contexte, nous explorerons comment la réflexion peut être exploitée pour définir la valeur d'une propriété spécifique au sein d'une classe C#.
Envisagez un scénario dans lequel vous connaissez le nom d'une propriété, telle que "prénom", et souhaitez modifier sa valeur à l'aide de cette chaîne. La réflexion fournit une solution à ce problème.
Pour obtenir le résultat souhaité, les étapes suivantes peuvent être suivies :
L'exemple de code fourni illustre cette approche :
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 } }
Si l'accessibilité de la propriété n'est pas publique, spécifiez BindingFlags comme indiqué :
var property = typeof(Person).GetProperty("Name", BindingFlags.NonPublic | BindingFlags.Instance);
Avec l'aide de la réflexion, la définition dynamique des valeurs des propriétés devient une entreprise réalisable, offrant une flexibilité dans la manipulation du code et l'exécution. comportement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!