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