0

我在想我应该在ActionExecutingContext实例的异常中包含哪些字段,我认为有一个助手会不会很好,它会产生实例数据的可读文本表示?

我知道,我不会在所有情况下都是完美的 - 我的意思是它可能太深了,它可能不会输出默认情况下需要的所有内容,但在许多情况下它会比没有任何数据的异常消息更好。

有没有人写过这样的东西,在任何开源项目中看到过?

4

1 回答 1

1

您可以使用反射轻松获取对象的所有属性的值:

public static void LogPublicProperties(object obj)
{
    foreach (var propertyInfo in d.GetType().GetProperties())
        Console.WriteLine("{0} = {1}",
            propertyInfo.Name,
            propertyInfo.GetValue(d, null));
}

如果要记录字段,请使用Type.GetFields()而不是GetProperties().

于 2012-07-20T11:27:45.427 回答