public static DownloadInfoExpandPacket[] DecodeArray(MemoryStream ms) { int length = PacketBase.ReadInt(ms); DownloadInfoExpandPacket[] packets = new DownloadInfoExpandPacket[length]; for (int i = 0; i < packets.Length; i++) { packets[i] = DownloadInfoExpandPacket.Decode(ms); } return(packets); }
public static byte[] EncodeArray(IDownloadInfoExpand[] packets) { using (MemoryStream ms = new MemoryStream()) { PacketBase.WriteBytes(ms, packets.Length); for (int i = 0; i < packets.Length; i++) { PacketBase.WriteBytes(ms, DownloadInfoExpandPacket.Encode(packets[i])); } return(ms.ToArray()); } }