Je n'arrive pas à trouver comment obtenir protobuf-net pour sérialiser un objet qui dérive de la liste < T>. J'ai essayé d'ajouter l'attribut ProtoInclude mais je reçois un ProtoBuf.ProtoException: Liste de type connu`1 pour ProtoIncludeAttribute doit être une sous-classe directe de UserTypeCollection. Lorsque je supprime l'attribut ProtoInclude, il semble que les données ne soient pas sérialisées du tout. Je n'arrive pas à trouver des exemples de cette situation nulle part. J'ajoute la sérialisation protobuf comme option pour notre API WS et je dois maintenir la compatibilité avec DataContractSerializer.protobuf-net et dérivant de collections génériques
[CollectionDataContract(), ProtoContract(InferTagFromName = true)]
[ProtoInclude(100, typeof(List<UserType>))]
public class UserTypeCollection : List<UserType>
{ ... }
[DataContract(), ProtoContract(InferTagFromName = true)]
public class UserType { ... }
Quel est l'objet que vous numérisez? La liste? ou un objet extérieur? –