![](/img/trans.png)
[英]Serializing List<T> using a surrogate with protobuf-net exception
[英]Exception by using a surrogate in protobuf-net
我有一个其中具有嵌套列表的DataCollection类。 我正在尝试使用替代类,将List>填充到列表中,并替代Dto类本身。
我正在创建一个RuntimeTypeModel
_model = TypeModel.Create();
_model.Add(typeof(DataCollection), false).SetSurrogate(typeof(DataCollectionSurrogate));
_model.Compile();`
如果我编译模型,则会收到以下异常。
System.ArgumentExceptionRepeated data (a list, collection, etc) has inbuilt behaviour and cannot use a surrogate
这到底传达了什么? 类本身有一些方法吗? 在其他情况下,这似乎无关紧要。 我不明白该传达的信息。
有什么想法吗?
基本上,物品的集合在许多内部结构上与物品非常不同。 该库允许您使用替代品的项目,但不允许你使用任何东西替代品,它是治疗对象的列表/集合...这对于protobuf网手段的目的:
foreach
要求(通常但不一定通过实现IEnumerable[<T>]
Add(T)
方法来附加项目 T
SkipListHandling
如果您的类型不应该像列表一样工作,则在[ProtoContract]
上设置SkipListHandling
...,但是: 如果这样做,不要指望它像列表一样工作。 它将仅被视为项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.