J'ai une liste d'objets de différents types de données (DateTime, int, decimal, string).Est-il possible de sérialiser une liste d'objets System.Object à l'aide de tampons de protocole?
List<object> myObjects = new List<object>();
myObjects.Add(3);
myObjects.Add(3.9m);
myObjects.Add(DateTime.Now);
myObjects.Add("HELLO");
j'ai pu sérialisation cette liste à l'aide protobuf-net, mais désérialisation lancers francs toujours l'exception: « Informations complémentaires: Type ne devrait, et aucun contrat ne peut être inférée: System.Object ».
using (var ms = new MemoryStream())
{
Serializer.Serialize(ms, list2);
var bytes = ms.ToArray();
ms.Position = 0;
var clone = Serializer.Deserialize(typeof(List<object>), ms); //Throws exception
}
Je n'ai aucun contrat explicite, je suppose que c'est le problème? Cependant, je sais quels sont les types attendus d'objets sérialisés, mais comment le dire à protobuf-net?