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 = false;
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.