3

我正在尝试将流反序列化为具有默认值属性的对象,而 protobuf-net 只是在流中缺少这些属性时才引入这些属性。在将所有属性反序列化为默认值之前,我是否需要手动设置?

4

1 回答 1

4

DefaultValues行为(不仅在 protobuf-net 中 -通常System.ComponentModel 例如PropertyGrid,PropertyDescriptor等)是用于指示不需要序列化的事物,因为它们将自动默认为相同的值。因此,它假定如果您的代码注释 a DefaultValue,那么您的代码将分配这些默认值。这可以在构造函数、字段初始化器或预反序列化回调中(支持所有 4 个标准回调点)。

从技术上讲,库在反序列化之前明确分配这些值并非不可能 - 但很简单:这不是目前编码的内容。

于 2013-05-20T13:06:20.340 回答