9
私はReadOnlyCollection
をprotobuf-netを使用してシリアル化および逆シリアル化しようとしています。しかし、protobuf-netがListをReadOnlyCollectionにキャストしようとすると、直列化解除時に例外がスローされます。protobuf-net:ReadOnlyCollectionの逆シリアル化に失敗しました
var roc = new ReadOnlyCollection<byte>(new byte[] {1, 2, 3});
var ms = new MemoryStream();
Serializer.Serialize(ms, roc);
ms.Position = 0;
var roc2 = Serializer.Deserialize<ReadOnlyCollection<byte>>(ms);
Console.WriteLine(BitConverter.ToString(roc2.ToArray()));
ReadOnlyCollection
として、これを維持するのではなくList
として/デシリアライズをシリアライズする方法はありますか?実際のアプリケーションでは、ReadOnlyCollection
は、シリアル化したい不変オブジェクトの一部であり、ReadOnlyCollection
のままにしておくことをお勧めします。
おっと、それは興味深いです。 *今すぐ*私は単に「それはうまくいきません」と言わなければならないでしょうが、それを調整して*動作させる方法はいくつか考えられます。しかし、デシリアライゼーションのコアに変更があります。これをprotobuf-netの機能要求として記録することもできます。 –
これと修正のために[問題](http://code.google.com/p/protobuf-net/issues/detail?id=254)を追加しましたが、問題の種類を変更するのを忘れました欠陥として列挙されている。ドー! – Mark
私は見た。ありがとう。私はそれに着きますが、protobuf-netは私の仕事ではないことを覚えておいてください - それで、それを適切に見るためには数日かかるかもしれません。 –