protected override Stream UnParse() { MemoryStream ms = new MemoryStream(); BinaryWriter w = new BinaryWriter(ms); w.Write(version); if (data == null) { data = new NGMPPairList(OnResourceChanged); } data.UnParse(ms); w.Flush(); return(ms); }
void Parse(Stream s) { BinaryReader br = new BinaryReader(s); _version = br.ReadUInt32(); if (_version != 1) { throw new InvalidDataException( $"{GetType().Name}: unsupported 'version'. Read '0x{_version:X8}', supported: '0x00000001'"); } _data = new NGMPPairList(OnResourceChanged, s); if (s.Position != s.Length) { throw new InvalidDataException( $"{GetType().Name}: Length {s.Length} bytes, parsed {s.Position} bytes"); } }
void Parse(Stream s) { BinaryReader br = new BinaryReader(s); version = br.ReadUInt32(); if (checking) { if (version != 1) { throw new InvalidDataException(String.Format("{0}: unsupported 'version'. Read '0x{1:X8}', supported: '0x00000001'", this.GetType().Name, version)); } } data = new NGMPPairList(OnResourceChanged, s); if (checking) { if (s.Position != s.Length) { throw new InvalidDataException(String.Format("{0}: Length {1} bytes, parsed {2} bytes", this.GetType().Name, s.Length, s.Position)); } } }