public override int Read(byte[] buffer, int offset, int count) { int bytesRead = DecoratedInstance.Read(buffer, offset, count); // raise the bytes read event byte[] temp = new byte[bytesRead]; Array.Copy(buffer, offset, temp, 0, bytesRead); BytesRead(temp); return(bytesRead); }