有没有人知道或者可以推荐一个可以在.NET中以递归方式显示任意对象图的库?
我需要能够打印出(到控制台)对象图的格式化表示。例如,给出一个像这样的简单对象图:
var foo = new Foo();
foo.Bar = new Bar();
foo.Bar.Baz = 42;
foo.Bar.Qux = "quux";
foo.Corge = false;
生成这样的输出很容易:
Foo:
Bar:
Baz: 42;
Qux: "quux"
Corge: false
我绝对可以使用Reflection自己编写这样的库,但如果它已经存在,我不妨使用它而不是浪费时间重新发明轮子。
我需要它来提供编码演示,以便向观众轻松展示构建的对象图形。
答案 0 :(得分:6)
嗯,这类似于JSON。您可以使用JavaScriptSerializer。您还可以尝试YAML格式,该格式非常易读,并且有some .NET libraries。
答案 1 :(得分:2)
FWIW我发现Visual Studio附带了Object Dumper sample,它可以做到非常接近这一点。
但是,我发现格式化不如JSON,我最终使用了它。
答案 2 :(得分:0)
你试过linqpad吗?但是你需要在那里拥有你的代码,但这对于演示IMO也很不错。