是否有任何.Net庫可以接受一個對象並將其序列化爲一個Stream,作爲將創建該對象的C#代碼?我將如何獲得將在當前狀態下重新創建運行時對象的等效C#代碼?
Stream fs = ...;
CSharpFormatter formatter = new CSharpFormatter();
var p = new Person { Name = "Russ", Address = "1024 Oak St" };
formatter.Serialize(fs, p);
在本月底,FS最終會與像這樣寫一個字符串:
new Person { Name = "Russ", Address = "1024 Oak St" };
我覺得這樣的事情將是從棘手的運行情況編寫單元測試非常有用。
我的圖片做代碼生成的東西。想象一下,當我發現一個特例時,我可以立即將參與對象序列化爲一個字符串......然後將該字符串粘貼到新的單元測試中。是的,我可以使用BinaryFormatter或XML或JSON。但是當我可以的時候,我非常喜歡編寫C#代碼。 –
你的意思是序列化不可序列化的對象嗎? – Need4Steed
我真的沒有任何需要DataContract或Serializable標記的問題。例如,我只是希望輸出成爲可以放入單元測試中的C#代碼。 –