【问题标题】:Using ProtoBuf-Net for two different sets of serialization使用 ProtoBuf-Net 进行两组不同的序列化
【发布时间】:2019-07-05 08:06:58
【问题描述】:

我正在使用 ProtoBuf-Net 通过 TCP 发送装饰对象 - 它就像一个魅力。

但我想将相同的对象也序列化到一个文件中,并具有不同的装饰。这意味着,我想在此处保存其他属性。

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

提前致谢!

(如果之前有人问过这个问题,我很抱歉,但是我找不到任何带有搜索词“不同”的东西)

【问题讨论】:

    标签: c# protobuf-net


    【解决方案1】:

    查看文档:

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

    或者这个问题: Protobuf-net serialization without annotation

    基本上,您可以通过 RuntimeTypeModel 自己配置所有内容,而不是注解

    【讨论】:

    • 更具体地说:一个 second 模型实例 (TypeModel.Create())。很好的答案。
    • 感谢您和@MarcGravell 的确认。我可以让第一组仍然使用注释而只使用第二组以编程方式吗?
    • @copa017 是;只要在向第二个模型添加类型时将false 作为自动配置参数传递,它就会忽略所有内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多