Est-il possible d'utiliser Protobuf-Net avec une classe sans constructeur parameterless?
-
20-09-2019 - |
Question
Utilisation Protobuf-Net, je vois qu'il ne semble pas possible de désérialiser une classe sans avoir un constructeur ou je parameterless manquer quelque chose?
Je ne veux pas quelques-unes des classes avec un constructeur parameterless. Y at-il une sorte d'attributs que je pourrais utiliser ou une autre technique?
La solution
protobuf-net dépend actuellement d'avoir un constructeur sans paramètre travailler.
Cependant que le constructeur n'a pas besoin d'être publique (
Autres conseils
ShuggyCoUk a raison à l'aide du constructeur sans paramètre.
Juste pour être complet, bien que - si vous parlez de la externe objet de message, vous pouvez également créer vous-même l'objet et appeler Serializer.Merge
. Mais si elle a besoin de créer un objet (car il dispose actuellement d'une instance de null
ou de nouveaux éléments dans une liste / tableau), il recherche un constructeur par défaut.
supposer que je pourrais aussi fournir quelques balises dans l'attribut dire « juste créer un objet brut via FormatterServices
», mais cela se sent inutile (par rapport à un constructeur parameterless privé) et elle ne peut travailler sur toutes les plateformes (Silverlight, CF, etc - être des problèmes probables).