Eu preciso de um serializador especial (c#)
-
23-09-2019 - |
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