Dire que j'ai une méthode:Y at-il un moyen d'obtenir un tableau des arguments passés à une méthode?
public void SomeMethod(String p1, String p2, int p3)
{
#if DEBUG
object[] args = GetArguments();
LogParamaters(args);
#endif
// Do Normal stuff in the method
}
est-il un moyen de récupérer un tableau des arguments passés dans la méthode, afin qu'ils puissent être enregistrés?
J'ai un grand nombre de méthodes et que vous voulez éviter de passer manuellement les arguments par nom à l'enregistreur, comme l'erreur humaine se glissera inévitablement
Je devine que cela impliquera une réflexion sous une forme -. Qui est bien, car il ne sera utilisé qu'à des fins de débogage.
Mise à jour
Un peu plus d'informations:
Je ne peux pas changer la signature de la méthode de SomeMethod, comme il est exposé comme WebMethod et doit reproduire le système existant, il emprunte l'identité. Le système hérité enregistre déjà les arguments transmis. Pour commencer, la nouvelle implémentation encapsulera le système hérité, donc je cherche à enregistrer les paramètres entrant dans la version C#, afin que je puisse vérifier la bonne les paramètres sont passés dans le bon ordre.
Je suis à la recherche d'enregistrer les valeurs de l'argument et l'ordre, et non pas leurs noms.
Quelles informations sur les paramètres sont stockés dans le journal? type, nom, valeur? – devnull
cela signifie que vous parlez vraiment de _arguments_, pas de _parameters_. [(Voir par exemple ici pour une explication sur la différence.)] (Http://msdn.microsoft.com/en-us/library/9kewt1b3%28VS.80%29.aspx) – stakx
@stax, oui cette distinction a du sens . Je cherche les valeurs d'argument passées dans la méthode. –