2
我有一个3级继承图。 protobuf的2.0.0.611Proto-Buf继承问题
QueryRequest
VenueQueryRequest
VenueQueryRequestV1
所有带
[DataContract, System.Serializable, ProtoBuf.ProtoContract]
QueryRequest包括:
[ProtoInclude(10, typeof(VenueQueryRequest))]
[ProtoInclude(11, typeof(VenueQueryRequestV1))]
当我打电话SerializeWithLengthPrefix了VenueQueryRequestV1我得到 “未知子类型:VenueQueryRequestV1”
如果我在添加(不替换)之前做一个NY电话
RuntimeTypeModel.Default[typeof(QueryRequest)].AddSubType(10, typeof(VenueQueryRequest));
RuntimeTypeModel.Default[typeof(QueryRequest)].AddSubType(11, typeof(VenueQueryRequestV1));
我得到“重复字段号检测; 10:Designertech.AzureServices.Messages.QueryRequest” 如果我只添加第二个,我得到了同样的错误,但与11而不是10
如果我更换,我得到的原始错误
这使得它看起来对我来说,它应该知道的分型
我是否有可能搞乱的东西了浇注或者什么地方? 目前,只有基类上有声明的任何属性。
[ProtoMember(1)]
IList<string> RequestedFields
这使我疯狂。
顺便说一句,这是用来产生消息,以馈入CloudFX Azure服务总线框架。
知道它会在脸上的某个地方盯着我。太感谢了。 –