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