Does anyone know of, or can recommend, a library that can recursively visualize an arbitrary object graph in .NET?
I need to be able to print out (to the console) a formatted representation of an object graph. For example, given a simple object graph like this:
var foo = new Foo();
foo.Bar = new Bar();
foo.Bar.Baz = 42;
foo.Bar.Qux = "quux";
foo.Corge = fals开发者_如何学Goe;
It would be easy to produce output like this:
Foo:
Bar:
Baz: 42;
Qux: "quux"
Corge: false
I could definitely write such a library myself using Reflection, but if something like it already exists I might as well use it instead of wasting time on reinventing the wheel.
I need it to give coding demos, to easily show to an audience what a constructed object graph looks like.
Well, this resembles JSON. You could use JavaScriptSerializer. You could also try the YAML format which is pretty human readable and there are some .NET libraries.
FWIW I found that Visual Studio ships with an Object Dumper sample that does something very close to this.
However, I find the formatting less desirable than JSON, which I ended up using instead.
Have you tried linqpad? But then you would need to have your code in there, but that is also nice for demoing IMO.
精彩评论