C# 使用ProtoBuf Net进行两组不同的序列化

C# 使用ProtoBuf Net进行两组不同的序列化,c#,protobuf-net,C#,Protobuf Net,我正在使用ProtoBuf网络通过TCP发送装饰过的对象,它就像一个符咒 但是我想将相同的对象序列化到一个文件中,并使用不同的装饰。也就是说,我想在这里保存其他属性 我认为在运行时操纵属性是不可能的,那么我还有什么其他选择呢 提前谢谢 (如果以前有人问过,我很抱歉,但我找不到任何带有搜索词“不同”的内容)请参阅文档: 属性的替代方案 在v2中,可以使用属性完成的所有操作也可以在运行时通过>RuntimeTypeModel进行配置。Serializer.*方法基本上只是>RuntimeTypeMo

我正在使用ProtoBuf网络通过TCP发送装饰过的对象,它就像一个符咒

但是我想将相同的对象序列化到一个文件中,并使用不同的装饰。也就是说,我想在这里保存其他属性

我认为在运行时操纵属性是不可能的,那么我还有什么其他选择呢

提前谢谢

(如果以前有人问过,我很抱歉,但我找不到任何带有搜索词“不同”的内容)

请参阅文档:

属性的替代方案 在v2中,可以使用属性完成的所有操作也可以在运行时通过>RuntimeTypeModel进行配置。Serializer.*方法基本上只是>RuntimeTypeModel.Default.的快捷方式,因此要操作序列化程序的行为,必须>配置RuntimeTypeModel.Default

或者这个问题:

基本上,您可以通过RuntimeTypeModel自己配置所有内容,而不是注释参见文档:

属性的替代方案 在v2中,可以使用属性完成的所有操作也可以在运行时通过>RuntimeTypeModel进行配置。Serializer.*方法基本上只是>RuntimeTypeModel.Default.的快捷方式,因此要操作序列化程序的行为,必须>配置RuntimeTypeModel.Default

或者这个问题:


基本上,您可以通过RuntimeTypeModel(更具体地说,是第二个模型实例(
TypeModel.Create()
)自己配置所有内容,而不是注释。回答得好。谢谢你和你@MarcGravel的确认。我是否可以让第一组仍然使用注释,而仅以编程方式使用第二组;在向第二个模型添加类型时,只要将
false
作为自动配置参数传递,它就会忽略所有内容,更具体地说,会忽略第二个模型实例(
TypeModel.Create()
)。回答得好。谢谢你和你@MarcGravel的确认。我是否可以让第一组仍然使用注释,而仅以编程方式使用第二组;只要在向第二个模型添加类型时将
false
作为自动配置参数传递,它就会忽略所有内容