Sté*_*écy 10 .net c# serialization protocol-buffers protobuf-net
使用Protobuf-Net,我发现如果没有无参数构造函数或者我可能会遗漏某些东西,似乎不可能反序列化一个类?
我不想要一些带有无参数构造函数的类.我可以使用某种属性或其他技术吗?
Shu*_*oUk 13
protobuf-net目前依赖于无参数构造函数.
但是,该构造函数不需要是公共的(如果需要调用它将使用反射),因此您可以定义所需的私有构造函数,仅供protobuf-net使用(添加注释以解释原因)并处理特定的序列化相关问题.
这使得api的其余部分无法构建"非法"实例.
Marc指出,如果您正在谈论最外层的消息对象,您也可以自己创建对象并调用Serializer.Merge.但是如果它需要创建一个对象(因为它当前有一个null实例,或者列表/数组中的新项),那么它会查找一个默认的构造函数.
| 归档时间: |
|
| 查看次数: |
4452 次 |
| 最近记录: |