Question

Je cherche un sérialiseur qui correspondent à mes besoins, le sérialiseur peut être dans le cadre .Net, un Open-Sorce ou un produit de paiement à (aussi longtemps qu'il peut b utilisé directement à partir du code).

maintenant, mes besoins sont les suivants:

obligatoire

  • capable de gérer une référence cyclique.
  • automatique, soit usues attribut ou d'héritage dans la classe cible, puis écrit simplement le fichier.
  • filtrage positif, ce qui signifie que dans la classe cible les champs sont marqués comme ce que sérialisation, et non ce pas sérialisation (comme [DataMember] dans DataContractSerializer et non pas comme [XmlIgnore] dans XmlSerializer) .
  • Vous devez utiliser un constructeur par défaut.
  • Prise en charge polymorphisme (pas des choses comme 'KnownTypes' dans DataContractSerializer).

préférable

  • fichier en tant que lumière Génère-wight que possible.
  • Sérialisez aussi vite que possible.
  • Travaux sur les champs non publics.

J'ai vérifié la plupart des serializers .Net et tryied pour trouver plus en ligne, et je suis sorti court, tous supports Wiche soit pas référence cyclique, polymorphisme, ou dose pas utiliser de constructeur. si maintenant je suis prettey d'idées, et je serai heureux pour certains halp.

Merci!

Pas de solution correcte

Autres conseils

Le plus proche de la BCL est BinaryFormatter mais pas interopérable.

Je regardais Google Protocol Buffers Ils sont disponibles pour un large éventail de langues C ++, Java, Python et .NET C #.

Le problème withe BinaryFormatter est qu'il est filtrage négatif (marquage des fildes pas serialze) et qu'il n'utilise un constractor. À propos de Google Protocol Buffers (ou ProtoBuff) j'ai eu la chance de travailler avec elle et son très complexe et peut difficilement être refered comme automatique

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top