Pergunta

Estou procurando um serializador que atenda aos meus requisitos, o serializador pode estar no .NET Framework, em um produto aberto ou em um produto pagador (desde que possa ser usado diretamente no código).

Agora, meus requisitos são estes:

obrigatoriedade

  • Capaz de lidar com uma referência cíclica.
  • Automático, usa atributo ou herança na classe de destino e, em seguida, simplesmente grava no arquivo.
  • Filtragem positiva, o que significa que na classe de destino os campos estão marcados como o que para serialize, e não o que não serialize (como [Datamember] no DataContractSerializer e não como [xmlignore] no XMLSerializer).
  • Deve usar um construtor padrão.
  • Suporta o polimorfismo (sem coisas como 'KnowTypes' no DataContractSerializer).

preferível

  • Gera o arquivo o mais a luz da luz possível.
  • Serialize o mais rápido possível.
  • Trabalha em campos não públicos.

Eu verifiquei a maioria dos serializadores .NET e tentei encontrar mais on -line e fiquei curto, tudo não suporta referência cíclica, polimorfismo ou dose não use nenhum construtor. Então, agora estou pretttey por idéias e ficarei feliz por alguns Halp.

Obrigada!

Nenhuma solução correta

Outras dicas

O mais próximo do BCL é BinaryFormatter Mas não é interoperável.

Eu olha para o Google's Buffers de protocolo Eles estão disponíveis para uma ampla variedade de idiomas C ++, Java, Python e .Net C#.

O problema com o BinaryFormatter é que é filtragem negativa (marcando os Fildes para não serrialze) e que não usa um construtor. Sobre os buffers do Google Protocol (ou Protobuff) Eu tive a chance de trabalhar com ele e é muito complicado e dificilmente posso ser referido como automático

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top