//------------------------------------------------------------------------------------- public static int FromBytes(byte[] bytes, int offset, out ChunkComment obj) { obj = new ChunkComment(); int blockSize = TypeUtils.FromBytes <ChunkHeader>(bytes, offset, out obj.Header); int dataSize = (int)(obj.Header.Size - blockSize); obj.Comment = new byte[dataSize]; Array.Copy(bytes, offset, obj.Comment, 0, dataSize); return(blockSize + dataSize); }
//------------------------------------------------------------------------------------- public static int ToBytes(ChunkComment obj, out byte[] bytes) { bytes = new byte[obj.Header.Size]; byte[] block; int blockSize = TypeUtils.ToBytes <ChunkHeader>(obj.Header, out block); Array.Copy(block, bytes, blockSize); Array.Copy(obj.Comment, 0, bytes, blockSize, (int)(obj.Header.Size - blockSize)); return((int)(obj.Header.Size)); }