如何添加类到protobuf-net

本文关键字:protobuf-net 添加 何添加 | 更新日期: 2023-09-27 17:53:10

我正在使用protobuf-net,到目前为止我很喜欢它,但有一件事让我很困扰。我有一个类,我想在消息中使用,但它不在我的源。

像这样:

[ProtoContract]
class Test{ 
    [ProtoMember(1)]
    public Otherclass Attr {get;set}
}
但是ProtoBuf不知道如何序列化Otherclass,也无法访问它的代码。所以我需要告诉它怎么做但是怎么做呢?

如何添加类到protobuf-net

在v1中你不能,除非它碰巧有xmllaerializer或datacontractserializer属性。嗯,这不是完全真的…一个GlobalOptions开关,理论上应该可以工作,但是如果类型改变,它不是很宽容,因为它推断了很多。

这里更好的选择是看"v2",它可以作为alpha下载。你的属性类型应该没问题,但是你也可以告诉类型模型如何处理非属性类型;这都是通过RuntimeTypeModel。