我有一个对象
- 没有 Serializable 属性集
- 有属性,谁的类型,没有 Serializable 属性集
- 我无法控制(意味着我无法编辑课程)
我尝试阅读THIS,它谈到了在使用Sharpserializer时解决此问题的替换类,但坦率地说,当我不知道我的对象的属性时,我不明白如何做到这一点。
是否有一些序列化框架可以做到这一点?
编辑:我正在研究 protobuf.net 我无法弄清楚如何让它在我的场景中工作 - 我希望 Marc 能够挽救这一天?:) - 我读到这与我的完全相同的问题,但我仍然得到“类型不是预期的,没有合同可以推断”使用时
private static byte[] ClienToBytes(IScsClient client)
{
using (var memoryStream = new MemoryStream())
{
RuntimeTypeModel.Default.Add(typeof(IScsClient), true).SetSurrogate(typeof(BinaryFormatterSurrogate<IScsClient>));
Serializer.Serialize(memoryStream, client);
return memoryStream.ToArray();
}
}
我使用 RunTimeTypeModel 错了吗?