Как сериализовать класс реализует два интерфейса, которые имеют одинаковый интерфейс на основе
Я пытаюсь использовать 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{...}
Там вернется ошибка: тип может участвовать только в одной иерархии наследования.