当我的VB.Net应用程序崩溃时,我试图收集尽可能多的信息。
我有一些我需要转换为字符串的对象,所以我可以通过电子邮件将对象值发送给我。
如何将对象转换为字符串 - 即使它们不可序列化?
在我的测试中,如果我尝试序列化我的测试对象,我会收到一个错误,因为它继承自IDictionary,因此无法序列化。但是我可以将它添加到“Watch”窗口并仍然可以看到它的所有属性。那么必须有一种方法将非可序列化对象转换为字符串吗?
答案 0 :(得分:2)
我之前有过这样的问题 - Logging instance data
因此,您可以使用反射并通过您自己的属性,或者您可以采取已经编写的内容,例如ServiceStack具有转储方法: http://www.servicestack.net/mythz_blog/?p=202
顺便说一下,不确定你的意思是“不可序列化”。如果无法使用默认.net类将对象序列化为xml,则这并不意味着无法使用自定义类或不同的序列化格式(如JSON或二进制文件)对其进行序列化。答案 1 :(得分:1)
您可以使用反射
来完成答案 2 :(得分:0)
那么,你基本上要求一种序列化对象的方法吗?例如,为什么不尝试将其序列化为Json。我敢肯定它可以处理IDictionary类型。试一试:json.codeplex.com