7

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.

3 Answers 3

6

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Yes, I ended up using Json.NET (json.codeplex.com) which was good enough for my immediate purpose. However, I was wondering if there was something more general-purpose...
2

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.

Comments

0

Have you tried linqpad? But then you would need to have your code in there, but that is also nice for demoing IMO.

1 Comment

I don't need a tool, but I library whose methods I can invoke from my own code to show off object graph structure. Can LinqPad be used in this way? AFACT it can't, but I may be mistaken...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.