任何人都可以给我一个例子或指向我如何使用Protobuf-Net序列化/反序列化一些内置系统类的资源吗?
具体来说,我只是尝试序列化/反序列化基本的Exception类以及从中继承的所有其他异常类。我是否必须创建一个新的RunTypeModel来指定我将需要序列化的每个可能的异常类,或者我可以告诉Protobuf-Net以相同的方式序列化它们而不列出每一个?
任何帮助都非常感谢,因为我是Protobuf-Net的新手,我仍然试图理解这一切。
答案 0 :(得分:3)
protobuf-net旨在序列化DTO模型,但不是例外 - 非常类似于XmlSerializer等(但显然是二进制而不是xml)。目前还没有内置序列化异常。可能会破解一些东西,但这不是真正的设计功能。
答案 1 :(得分:0)
你真的不能序列化像
这样的类public class MyTest
{
[ProtoMember(1)]
public Exception MyException { get; set; }
}
但是可以进行一些小的更改来序列化
public class MyTest
{
[ProtoMember(1, DynamicType = true)]
public Object MyException { get; set; }
}
这是我发现序列化异常的唯一方法。