private void StdListenerCommandPartHeared(object sender, CommandPartHearedEventArgs e)
        {
            foreach (var cmdPartConfig in _configuration.CommandParts)
            {
                try
                {
                    foreach (var param in cmdPartConfig.DefParams)
                    {
                        if (param.DefinedValue != param.GetValue(e.Data, 0))
                        {
                            throw new Exception("Data are not a " + cmdPartConfig.PartName);
                        }
                    }

                    var commandPartReceivedEvent = CommandPartReceived;
                    commandPartReceivedEvent?.Invoke(this,
                                                     new CommandPartReceivedEventArgs(new CmdPartConfigAndBytesSimple(cmdPartConfig, e.Data)));

                    foreach (var param in cmdPartConfig.VarParams)
                    {
                        RaiseValueReceived(param.Id.IdentyString, param.GetValue(e.Data, 0));
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
        }
        private void SenderCommandPartHeared(object sender, CommandPartHearedEventArgs e)
        {
            var heared = CommandPartHeared;

            heared?.Invoke(this, e);
        }