【发布时间】:2019-07-05 08:06:58
【问题描述】:
我正在使用 ProtoBuf-Net 通过 TCP 发送装饰对象 - 它就像一个魅力。
但我想将相同的对象也序列化到一个文件中,并具有不同的装饰。这意味着,我想在此处保存其他属性。
我认为在运行时操作属性是不可能的,那么我还有什么其他选择?
提前致谢!
(如果之前有人问过这个问题,我很抱歉,但是我找不到任何带有搜索词“不同”的东西)
【问题讨论】:
标签: c# protobuf-net
我正在使用 ProtoBuf-Net 通过 TCP 发送装饰对象 - 它就像一个魅力。
但我想将相同的对象也序列化到一个文件中,并具有不同的装饰。这意味着,我想在此处保存其他属性。
我认为在运行时操作属性是不可能的,那么我还有什么其他选择?
提前致谢!
(如果之前有人问过这个问题,我很抱歉,但是我找不到任何带有搜索词“不同”的东西)
【问题讨论】:
标签: c# protobuf-net
查看文档:
属性的替代品 在 v2 中,可以使用属性完成的所有操作也可以在运行时通过 >RuntimeTypeModel 进行配置。 Serializer.* 方法基本上只是>RuntimeTypeModel.Default. 的快捷方式,因此要操纵Serializer. 的行为,您必须>configure RuntimeTypeModel.Default.
或者这个问题: Protobuf-net serialization without annotation
基本上,您可以通过 RuntimeTypeModel 自己配置所有内容,而不是注解
【讨论】:
TypeModel.Create())。很好的答案。
false 作为自动配置参数传递,它就会忽略所有内容