2010-10-02 61 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 

我肯定可以寫使用反射我自己這樣的庫,但如果像它已經存在了,我可能會使用它,而不是浪費時間重新發明輪子。

我需要它給編碼演示,以方便地向觀衆展示構建的對象圖是什麼樣的。

回答

6

那麼,這就像JSON。你可以使用JavaScriptSerializer。你也可以嘗試YAML格式,這是非常人性化的,並有some .NET libraries

+0

是的,我結束了使用Json.NET(http://json.codeplex.com/),這足以滿足我的直接目的。但是,我想知道是否有更通用的東西... – 2010-10-03 15:40:59

0

你試過linqpad嗎?但是,那麼你需要將代碼放在那裏,但這對於演示IMO也很好。

+0

我不需要一個工具,但我的庫的方法,我可以從我自己的代碼調用來炫耀對象圖結構。 LinqPad能以這種方式使用嗎? AFACT它不能,但我可能會誤認爲... – 2010-10-03 15:43:57

2

FWIW我發現Visual Studio附帶的Object Dumper sample與此非常接近。

但是,我發現格式化比JSON更不理想,我最終選擇使用該格式。