gpt4 book ai didi

c# - protobuf-net:无法反序列化 ReadOnlyCollection

转载 作者:太空狗 更新时间:2023-10-29 18:00:14 25 4
gpt4 key购买 nike

我正在尝试使用 protobuf-net 序列化和反序列化 ReadOnlyCollection。但是,当 protobuf-net 尝试将 List 转换为 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 是我想要序列化的不可变对象(immutable对象)的一部分,并且更愿意将其保留为 ReadOnlyCollection

最佳答案

我认为 protobuf-net 仅将集合反序列化为列表。你可以:

var roc2aux = Serializer.Deserialize<List<byte>>(ms);
var roc2 = new ReadOnlyCollection<byte>(roc2aux);
Console.WriteLine( BitConverter.ToString( roc2.ToArray() ) );

关于c# - protobuf-net:无法反序列化 ReadOnlyCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8250734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com