2010-10-02 3 views
8

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

Мне нужно это, чтобы дать демо-коды, чтобы легко показать аудитории, как выглядит построенный граф объектов.

ответ

6

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

+0

Да, я закончил использовать Json.NET (http://json.codeplex.com/), который был достаточно хорош для моей непосредственной цели. Однако мне было интересно, есть ли что-то более универсальное ... –

0

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

+0

Мне не нужен инструмент, но я библиотека, методы которого я могу вызвать из своего собственного кода, чтобы показать структуру графа объекта. Можно ли использовать LinqPad таким образом? AFACT это не может, но я могу ошибаться ... –

2

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

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

Смежные вопросы