Reputation: 233125
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.
Upvotes: 7
Views: 1017
Reputation: 233125
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.
Upvotes: 2
Reputation: 1038710
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.
Upvotes: 6
Reputation: 409
Have you tried linqpad? But then you would need to have your code in there, but that is also nice for demoing IMO.
Upvotes: 0