0

当我的 VB.Net 应用程序崩溃时,我试图收集尽可能多的信息。

我有一些需要转换为字符串的对象,因此我可以通过电子邮件将对象值发送给我。

如何将对象转换为字符串 - 即使它们不可序列化?

在我的测试中,如果我尝试序列化我的测试对象,我会得到一个错误,因为它继承自 IDictionary,它不能被序列化。但我可以将它添加到“观察”窗口,仍然可以看到它的所有属性。那么一定有办法将不可序列化的对象转换为字符串吗?

4

3 回答 3

2

我之前有这样的问题 -记录实例数据

所以你可以使用反射并自己遍历属性,或者你可以采取一些已经写好的东西,例如 ServiceStack 有 Dump 方法: http ://www.servicestack.net/mythz_blog/?p=202

顺便说一句,不确定“不可序列化”是什么意思。如果无法使用默认的 .net 类将对象序列化为 xml,这并不意味着无法使用自定义类或不同的序列化格式(如 JSON 或二进制)对其进行序列化。

于 2013-08-30T09:06:05.830 回答
1

您可以通过使用反射来做到这一点

反射(C# 编程指南)

于 2013-08-30T09:06:54.627 回答
0

那么,您基本上是在寻求一种序列化对象的方法吗?例如,您为什么不尝试将其序列化为 Json。我确信它可以处理 IDictionary 类型。试一试:json.codeplex.com

于 2013-09-03T09:16:40.007 回答