我正在重载System.IO BinaryReader以序列化一些类用于文件存储目的。我在像字典等项目上没有遇到任何问题,但是在可为空类型上并不成功。这是否可能?具体而言,我正在尝试decimal?和string?,但任何类型都应该适用于我来调整我的解决方案。
由于特定业务原因,我必须进行二进制序列化,请仅限制响应仅适用于此的解决方案。
例如...对于读/写字节数组,我使用以下方法:
由于特定业务原因,我必须进行二进制序列化,请仅限制响应仅适用于此的解决方案。
例如...对于读/写字节数组,我使用以下方法:
public byte[] ReadByteArray()
{
int len = ReadInt32();
if (len > 0) return ReadBytes(len);
if (len < 0) return null;
return new byte[0];
}
public override void Write(byte[] b)
{
int len = b.Length;
Write(len);
if (len > 0) base.Write(b);
}