2

我使用 protobuf-net 而不是 binaryformatter 运行我的客户端/服务器应用程序,我得到下一个异常:"No serializer defined for type: System.Collections.Queue"。我不完全确定,可能是我做错了什么的原因......因为我已经询问过 Dictionary/List 并且支持这些类型(我可以序列化一个对象(包含成员:​​字典、列表......等)在 Mono 中并在 MS.NET 中反序列化它,反之亦然,使用 protobuf-net?)。

我刚刚读到:http ://code.google.com/p/protobuf-net/wiki/GettingStarted “支持: 任何实现 IEnumerable 并具有 Add(T) 方法的类型 和队列http://msdn.microsoft .com/en-us/library/system.collections.queue.aspx没有 Add(T)...

问: 但我想完全确定。protobuf-net 是否支持System.Collections.Queue

4

1 回答 1

1

目前,不:它没有。为了序列化的目的,我建议将数据视为列表。作为参考,XmlSerializer也讨厌它 - 这是XmlSerializer输出Queue<string>

“您必须在 System.Collections.Generic.Queue`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 上实现默认访问器,因为它继承自 ICollection。”

于 2012-09-24T18:44:27.777 回答