用于在.NET中可视化对象图的库

时间:2010-10-02 15:24:29

标签: .net visualization object-graph

有没有人知道或者可以推荐一个可以在.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自己编写这样的库,但如果它已经存在,我不妨使用它而不是浪费时间重新发明轮子。

我需要它来提供编码演示,以便向观众轻松展示构建的对象图形。

3 个答案:

答案 0 :(得分:6)

嗯,这类似于JSON。您可以使用JavaScriptSerializer。您还可以尝试YAML格式,该格式非常易读,并且有some .NET libraries

答案 1 :(得分:2)

FWIW我发现Visual Studio附带了Object Dumper sample,它可以做到非常接近这一点。

但是,我发现格式化不如JSON,我最终使用了它。

答案 2 :(得分:0)

你试过linqpad吗?但是你需要在那里拥有你的代码,但这对于演示IMO也很不错。