2010-11-24 23 views
3

Par exemple, supposons que dans mon assemblée, dans Namespace A, classe B, il existe une méthode d'instance avec la signature suivante:Existe-t-il un moyen de répertorier toutes les invocations et les paramètres de chaîne codés en dur d'une méthode à partir d'un assemblage .Net?

void Test(string someString, int someOtherParm, string someOtherString); 

Cette méthode est appelée plusieurs fois, à partir de plusieurs endroits dans l'ensemble. Je voudrais pouvoir construire une liste de toutes les invocations de cette méthode et de la valeur de someString/someOtherString (en supposant qu'elles soient codées en dur).

En d'autres termes, j'aime extraire une liste d'appels comme l'exemple ci-dessous un, si elles se produisent dans l'ensemble quelque part:

Test("some text", 8, "some other text"); 

Merci à l'avance, R.

+0

avez-vous résolu cela? envie de poster une solution? –

Répondre

1

Vous pourriez utilisez la bibliothèque Cecil, qui est une API d'inspection et de modification IL très puissante. Vous souhaiterez créer un "visiteur de méthode" qui recherchera les instructions d'appel et tentera de localiser les chaînes constantes chargées dans la pile.

+0

Holly ...., c'était rapide. Merci, je vais jeter un coup d'oeil à Cecil. – rgheorghe