J’essaie d’utiliser protobuf v2 pour sérialiser une classe A implémente les interfaces B et C. Et B et C dérivés de 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{...}
Il y aura retour d’erreur: un type ne peut participer qu’à une seule hiérarchie d’inheritance.
Les interfaces ne sont pas vraiment du même type de “dérivé” (inheritance) que l’inheritance de classe . Bien que le support d’interface de base soit fourni, ce n’est pas un scénario pris en charge par protobuf-net.
Quant à savoir si cela pourrait le soutenir, cela demanderait un peu de reflection. Je suggère de consigner une demande, ici .