Библиотека для визуализации графов объектов в.NET

Кто-нибудь знает или может порекомендовать библиотеку, которая может рекурсивно визуализировать произвольный граф объектов в.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 ответа

Решение

Ну, это похоже на JSON. Вы можете использовать JavaScriptSerializer. Вы также можете попробовать формат YAML, который удобен для чтения человеком, и есть несколько библиотек.NET.

Я обнаружил, что Visual Studio поставляется с образцом Object Dumper, который делает что-то очень близкое к этому.

Тем не менее, я считаю форматирование менее желательным, чем JSON, который я использовал вместо этого.

Вы пробовали linqpad? Но тогда вам понадобится ваш код, но это также хорошо для демонстрации IMO.

Другие вопросы по тегам