оператор '^': все операнды должны иметь одинаковый тип перечисления с использованием FileInfo - PullRequest
0 голосов
/ 03 мая 2018

Я использую список для чего-то, и у меня возникают проблемы при попытке сканирования файлов

Вот код:

private: System::Void simpleButton20_Click(System::Object^  sender, System::EventArgs^  e) {
    this->scan->Items->Clear();
    try {
        DirectoryInfo^ info = gcnew DirectoryInfo(Environment::GetFolderPath(Environment::SpecialFolder::UserProfile) + "\AppData\Roaming\skypedir\recievedfiles");
        //FileInfo^ info2 = gcnew FileInfo(SearchOption::AllDirectories);
        FileInfo^ info2 = gcnew FileInfo(info->GetFiles^("*jar*", SearchOption::AllDirectories));
        this->scan->Items->Add(info2->FullName);
    }
    catch(Exception^ Exe){
        MessageBox::Show(Exe->ToString());
    }
}

Я получаю сообщение об ошибке "оператор '^': все операнды должны иметь одинаковый тип перечисления" каждый раз.

1 Ответ

0 голосов
/ 03 мая 2018

Вы получили ошибку из-за оператора '^', который вы ввели после GetFiles. Тебе это не нужно. Но это не решит твою проблему. Потому что DirectoryInfo :: GetFiles возвращает массив FileInfo. Таким образом, вы не можете создать объект FileInfo, используя GetFiles. Вы должны сделать следующее:

DirectoryInfo^ info = gcnew DirectoryInfo(Environment::GetFolderPath(Environment::SpecialFolder::UserProfile) + "\\AppData\\Roaming\\skypedir\\recievedfiles");
array<FileInfo^>^ fileInfoArray = info->GetFiles("*jar*", SearchOption::AllDirectories);
for each(FileInfo^ info2 in fileInfoArray)
{
   this->scan->Items->Add(info2->FullName);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...