因此,对于在运行时查看当前对象的状态,我真的很喜欢 Visual Studio 即时窗口给我的功能。做一个简单的
? objectname
会给我一个格式良好的对象“转储”。
有没有一种简单的方法可以在代码中执行此操作,以便我可以在记录日志时执行类似的操作?
最佳答案
对于更大的对象图,我支持使用 Json,但策略略有不同。首先,我有一个易于调用的静态类和一个包装 Json 转换的静态方法(注意:可以使它成为一个扩展方法)。
using Newtonsoft.Json;
public static class F
{
public static string Dump(object obj)
{
return JsonConvert.SerializeObject(obj);
}
}
然后在您的立即窗口
中,
var lookHere = F.Dump(myobj);
lookHere 将自动显示在前缀为 $ 的 Locals
窗口中,或者您可以向其中添加监视。在检查器中 Value
列的右侧,有一个放大镜,旁边有一个下拉插入符号。选择下拉插入符号并选择 Json 可视化工具。
我正在使用 Visual Studio 2013。
关于c# - 将整个对象转储到 C# 中的日志的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/360277/