private static void SearchTask()
        {
            var success  = true;
            var errorMsg = "";

            if (_searchParams.SearchDir.Length >= 3 && Directory.Exists(_searchParams.SearchDir))
            {
                if (_searchParams.ContainingChecked)
                {
                    // конвертируем икомую строку в массив байтов
                    if (_searchParams.ContainingText != "")
                    {
                        try
                        {
                            _containingBytes = _searchParams.Encoding.GetBytes(_searchParams.ContainingText);
                        }
                        catch (Exception)
                        {
                            success  = false;
                            errorMsg = T._("The string") +                               //"Строка" +
                                       $"\r\n{_searchParams.ContainingText}\r\n" +
                                       T._("cannot be converted to an array of bytes."); //"не может быть конвертирована в массив байтов.");
                        }
                    }
                    else
                    {
                        success  = false;
                        errorMsg = T._("Search string cannot be empty."); //"Строка поиска не может быть пустой.");
                    }
                }

                if (success)
                {
                    DirectoryInfo dirInfo = null;
                    try
                    {
                        dirInfo = new DirectoryInfo(_searchParams.SearchDir);
                    }
                    catch (Exception ex)
                    {
                        success  = false;
                        errorMsg = ex.Message;
                    }

                    if (success)
                    {
                        SearchDirectory(dirInfo);
                    }
                }
            }
            else
            {
                success  = false;
                errorMsg = T._("The directory") + //"Каталог\r\n" +
                           $"{_searchParams.SearchDir}\r\n" +
                           T._("not available."); //"недоступен.");
            }

            _searchTask = null;

            ThreadEnded?.Invoke(new ThreadEndedEventArgs(success, _foundedCount, errorMsg));
        }
 private void TearDown()
 {
     _thread = null;
     ThreadEnded?.Invoke(this, null);
 }