public UInt32 GetUInt32(int offset) { if (offset + 4 > writeOffset) { throw new IndexOutOfRangeException(); } ms.Position = offset; if (BitConverter.IsLittleEndian && isBigEndian) { return(BigEndianUtil.ToUInt32(br.ReadBytes(4))); } return(br.ReadUInt32()); }
public Int16 GetInt16(int offset) { if (offset + 2 > writeOffset) { throw new IndexOutOfRangeException(); } ms.Position = offset; if (BitConverter.IsLittleEndian && isBigEndian) { return(BigEndianUtil.ToInt16(br.ReadBytes(2))); } return(br.ReadInt16()); }
public void Write(int offset, UInt32 value) { if (offset + 4 > ms.Capacity) { throw new IndexOutOfRangeException(); } ms.Position = offset; writeOffset = offset + 4; if (BitConverter.IsLittleEndian && isBigEndian) { bw.Write(BigEndianUtil.ToBytes(value)); } else { bw.Write(value); } }