Bon, faute de mieux je suis parti sur la solution du
./12Par contre j'ai un autre problème (ouééé

) : je cherche à faire quelque chose que je ne sais pas comment réaliser en C# (en C++ ça prendrait 3 lignes, mais là...)
J'aurais besoin de créer un objet, disons "Modifier", qui prenne en paramètre une référence vers une variable (ou un attribut) et qui soit capable par la suite de modifier cette variable. Le détail c'est que par "modifier" je ne parle pas d'appeler ses méthodes et autres, mais bien de remplacer la valeur de la variable. Le problème c'est que pour ça il me faut conserver une référence vers la variable en question, mais que le mot-clé "ref" du C# se limite aux paramètres des fonctions. Certes il y a bien des pointeurs, mais c'est "unsafe" et j'ai cru comprendre qu'il fallait prendre pas mal de précautions pour éviter que la CLR ne modifie les adresses lors d'un passage du GC.
Voilà idéalement comment j'aimerais que la classe s'utilise :
http://www.mirari.fr/g4iYEn C++ ça serait très facile : il suffirait que "myRef" soit de type "T&" et qu'il soit initialisé dans le constructeur de "Modifier". Mais en C# la seule solution que j'ai trouvée consiste à passer à "Modifier" non pas une référence vers la variable mais deux delegates (un setter et un getter). Ça marche très bien mais ça m'oblige à déclarer deux méthodes pour chaque variable que je veux "Modifier"-er (
voilà ce que ça donne) : très lourd.
Y-a-t'il moyen de faire autrement ?
Merci
