Protobuf-net 跳过特定字段的反序列化
Protobuf-net skip deserialization of specific fields
这个我已经连载了 class:
[ProtoContract]
public class TestClass
{
[ProtoMember(1)] public int[] hugeArray;
[ProtoMember(2)] public int x;
[ProtoMember(3)] public int y;
//lot more fields and properties to serialize here...
}
如何在反序列化过程中跳过 [ProtoMember(1)] hugeArray,以便只反序列化 x、y 和其他字段?
我的问题是,有时我很快只需要获取 'metadata',这是其他字段和属性描述的内容,但有时我需要整个对象。
两个选项:
- 两个
RuntimeTypeModel
个实例(一个手动构建,仅指定了所需的字段)
- 两种类型;即创建一个更简单的
TestClass
, 只是省略大字段 - 即 TestClassMetadata
- 并反序列化为 that; protobuf-net 根本不会介意
这个我已经连载了 class:
[ProtoContract]
public class TestClass
{
[ProtoMember(1)] public int[] hugeArray;
[ProtoMember(2)] public int x;
[ProtoMember(3)] public int y;
//lot more fields and properties to serialize here...
}
如何在反序列化过程中跳过 [ProtoMember(1)] hugeArray,以便只反序列化 x、y 和其他字段?
我的问题是,有时我很快只需要获取 'metadata',这是其他字段和属性描述的内容,但有时我需要整个对象。
两个选项:
- 两个
RuntimeTypeModel
个实例(一个手动构建,仅指定了所需的字段) - 两种类型;即创建一个更简单的
TestClass
, 只是省略大字段 - 即TestClassMetadata
- 并反序列化为 that; protobuf-net 根本不会介意