J'ai une instance d'une classe, je veux changer un membre de données d'objet de cette instance seulement avec un autre objet du même type (échange), dû à mes contraintes système, je ne peux pas utiliser les opérateurs =, new ou setter.C# Réflexion - changer la valeur d'un champ d'une variable
Fondamentalement, je voudrais changer la valeur d'un champ d'une variable, le champ est un objet contenu dans un autre objet - la variable que son instance j'ai.
est-ce possible en utilisant la réflexion? Si oui, quelqu'un peut-il me donner des instructions de base?
Merci Yoav
Pouvez-vous partager un peu de code, s'il vous plaît ? –
La valeur que vous souhaitez modifier une propriété ou un champ? Si c'est une propriété, connaissez-vous le nom du champ qui se trouve derrière? - Fondamentalement, si une propriété n'a pas d'accesseur défini, vous ne pouvez pas changer sa valeur (même en utilisant la réflexion), cependant s'il y a un champ derrière, même s'il est privé, vous pouvez (habituellement) le changer en utilisant la réflexion. Dans certains cas (je ne rappelle pas la référence), vous pouvez même refuser l'accès à la réflexion à des champs privés. –