【发布时间】:2016-08-11 20:19:19
【问题描述】:
我有一个各种数据类型(DateTime、int、decimal、string)的对象列表。
List<object> myObjects = new List<object>();
myObjects.Add(3);
myObjects.Add(3.9m);
myObjects.Add(DateTime.Now);
myObjects.Add("HELLO");
我能够使用 protobuf-net 序列化此列表,但反序列化总是抛出异常:“附加信息:不期望类型,并且无法推断出任何合同: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
}
我没有任何明确的合同,我想这就是问题所在?但是,我确实知道预期的序列化对象类型是什么,但是我该如何告诉 protobuf-net?
【问题讨论】:
标签: c# serialization .net-4.5 protocol-buffers protobuf-net