protected virtual void OnReceivedData(byte[] receiveddata)
        {
            ReceivedDataEventHandler handler = ReceivedData;

            if (handler != null)
            {
                handler(receiveddata);
            }
        }
        /// <summary>
        /// Обработчик события прихода данных от SimConnect
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="data"></param>
        void simconnect_OnRecvSimobjectDataBytype(SimConnect sender, SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE data)
        {
            switch ((DATA_REQUESTS)data.dwRequestID)
            {
            case DATA_REQUESTS.myRequestID:
            {
                unsafe
                {
                    Struct1 s1 = (Struct1)data.dwData[0];
                    int     i  = 0;
                    foreach (DataField field in DataFields)
                    {
                        field.Value = s1.fieds[i++];
                    }
                };

                // на всякий случай создаем копию события т.к. возможна ситуация, что подписчик отпишется от события в момент проверки ниже
                ReceivedDataEventHandler receivedDataHandler = ReceivedDataEvent;

                // далее проверяем, что есть ли какой-то подписчик на событие ConnectedToEndPointEvent (эта переменная не равна нулю) и генерируем тогда такое событие
                if (receivedDataHandler != null)
                {
                    receivedDataHandler(this, new ReceivedDataEventArgs(this.DataFields));
                }
            }
            break;

            default:
            {
                // на всякий случай создаем копию события т.к. возможна ситуация, что подписчик отпишется от события в момент проверки ниже
                UnknownRequestIDEventHandler unknownRequestIDHandler = UnknownRequestIDEvent;

                // далее проверяем, что есть ли какой-то подписчик на событие ConnectedToEndPointEvent (эта переменная не равна нулю) и генерируем тогда такое событие
                if (unknownRequestIDHandler != null)
                {
                    unknownRequestIDHandler(this, new UnknownRequestIDEventArgs(data.dwRequestID));
                }
            }
            break;
            }
        }