-
Reflection en montant!
Bonjour.
La Reflection est bien pratique pour descendre dans les modules d'un Assembly, dans les types des modules et dans les membres des types (méthodes, propriétés, etc.), mais je cherche à faire l'inverse: savoir depuis quelle méthode de quel objet (de quel type) est appelée la méthode que j'exécute en ce moment.
Je ne trouve cette info que dans Environment.StackTrace mais ça ne me semble pas être le but premier de cette propriété.
Y a-t-il un moyen?
Merci
-
Bon, je me réponds à moi-même, sans grande conviction...
On peut appeler la méthode en lui passant le paramètre suivant:
Code:
a = f(MethodBase.GetCurrentMethod().DeclaringType);
Ca lui fournit le nom de la classe d'où on appelle.
Sinon, pour avoir la classe et la méthode appelantes, je n'ai rien trouvé d'autre qu'en passer par un StackTrace(1).ToString() et bricoler la première ligne, parce que le StackFrame(1).GetFrame(0) perd trop de renseignements... Un peu galère :)
-
En l'absence de solution intéressante, je clos le sujet :(