我想将当前方法调用(包括返回值)打印到Visual Studio输出,如下所示:
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;
};
// [..]
}
我在调试时有时会使用它来获取更多信息(例如,来自此处所示的转换器)。然而,这只是一种迂回的方式。
有没有办法让它更灵活?像GetCurrentArguments(来自MethodInfo)?