public byte this[int index]
{
get
{
if (BaseStream is MemoryStream)
return (BaseStream as MemoryStream).GetBuffer()[index + BaseStream.Position];
var oldPosition = BaseStream.Position;
BaseStream.Position += index;
var result = ReadByte();
BaseStream.Position = oldPosition;
return result;
}
}