如何序列化一个类,实现具有相同基接口的两个接口

本文关键字:接口 两个 序列化 一个 实现 | 更新日期: 2023-09-27 18:10:16

我正在尝试使用protobuf v2序列化类a实现接口B和C, B和C都派生自d


[ProtoBuf.ProtoContract]
[ProtoBuf.Includes(101, typeof(B))
[ProtoBuf.Includes(101, typeof(C))
interface D{...}

[ProtoBuf.ProtoContract]
[ProtoBuf.Includes(101, typeof(A))
interface B:interfae D{...}

[ProtoBuf.ProtoContract]
[ProtoBuf.Includes(101, typeof(A))
interface C:interface D
{
   ...
}

[ProtoBuf.ProtoContract]
class A: interface B, interface C{...}

将返回错误:一个类型只能参与一个继承层次。

如何序列化一个类,实现具有相同基接口的两个接口

接口与继承并不是真正意义上的"派生"(继承)。虽然提供了基本的接口支持,但这不是protobuf-net当前支持的场景。

至于它是否可以支持它——这需要一些思考。我建议在这里记录一个请求。