comment sérialiser une classe implémente deux interfaces qui ont la même interface de base

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 .