La réflexion peut-elle modifier les valeurs de propriété à partir d'une entrée de chaîne ?
En utilisant la réflexion en C#, vous pouvez accéder aux membres privés d'une classe, y compris ses propriétés . Cela vous permet de manipuler les valeurs sous-jacentes de ces propriétés, malgré leurs restrictions d'accès.
Exemple : Définition des valeurs de propriété de manière réfléchie
Considérez le code suivant :
string propertyName = "first_name"; // Assume there's a property named first_name in the class
Pour définir la valeur de cette propriété par réflexion, suivez ces étapes :
Obtenez les informations sur la propriété à l'aide de Reflection :
Type propertyType = typeof(TargetClass); PropertyInfo propertyInfo = propertyType.GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Instance);
Utilisez la méthode SetValue pour modifier la valeur de la propriété :
object targetObject = new TargetClass(); propertyInfo.SetValue(targetObject, "New Value", null);
Remarque : Dans l'exemple ci-dessus, TargetClass représente la classe contenant la propriété first_name. Pour accéder aux propriétés privées ou protégées, ajustez les BindingFlags dans GetProperty() en conséquence.
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!