Réflexion Silverlight | GetCurrentMethod avec des paramètres passés
-
14-10-2019 - |
Question
Je veux imprimer l'appel en cours de méthode (y compris la valeur de retour.) À la sortie de Visual Studio comme ceci:
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
Func<object, object> ret = (value) =>
{
#if DEBUG
var debug = new StringBuilder();
debug.Append("MyConverter.Convert([");
debug.Append(values.Sum(v => (v != null ? v.ToString() : "null") + ',', null, v => v != null ? v.ToString() : "null"));
debug.Append("], " + targetType.ToString() + ", " + parameter.ToString() + ", " + culture.DisplayName + ") =" + value.ToString() + ";");
Debug.WriteLine(debug.ToString());
#endif
return value;
};
// [..]
}
J'utilise ce parfois pour obtenir plus d'informations (par exemple à partir d'un convertisseur comme indiqué ici) pendant le débogage. Cependant, c'est juste une façon détournée.
Est-il possible de le faire plus souple? Quelque chose comme GetCurrentArguments (de MethodInfo)?