.NET ParameterizedThreadStart неправильно возвращает тип

Я только что начал экспериментировать с Потоками, и я работал в к проблеме, которую я не могу решить самостоятельно. Я получаю ошибку: Ошибка 1 'bool projekt.ftp. UploadFil (объект)' имеет неправильный тип возврата

Я использую этот код для запуска потока с помощью ftp метода. Uploadfile:

Thread ftpUploadFile = new Thread(new ParameterizedThreadStart(ftp.UploadFile));
ftpUploadFile.Start(e.FullPath);

И это - метод, который я использовал.

public static bool UploadFile(object filename)
{
    string file = Convert.ToString(filename);

    /* blah blah fricken blah snip */

    return false; 

}
6
задан GManNickG 28 January 2011 в 14:22
поделиться

4 ответа

Если вы прочитаете сообщение об ошибке, вы увидите, что проблема в том, что метод имеет неправильный тип возвращаемого значения.

В частности, ваш метод UploadFile возвращает bool , но делегат ParameterizedThreadStart возвращает void .

Чтобы исправить это, измените метод UploadFile так, чтобы он возвращал void , и замените все его операторы return xxx; на return; ].

Кроме того, вы можете заключить UploadFile в анонимный метод, например:

Thread ftpUploadFile = new Thread(delegate { ftp.UploadFile(e.FullPath); });
ftpUploadFile.Start();
7
ответ дан 9 December 2019 в 22:33
поделиться

try

public static void UploadFile(object filename)
0
ответ дан 9 December 2019 в 22:33
поделиться

Я думаю, что ParameterizedThreadStart ожидает метод с типом возвращаемого значения void .

0
ответ дан 9 December 2019 в 22:33
поделиться

Вы не должны ничего возвращать из своего метода. Сделайте возвращаемый тип недействительным - как описано в :

public delegate void ParameterizedThreadStart(Object obj)

Если вам нужно знать результаты вашего метода, вам нужно изучить Синхронизация потоков .

2
ответ дан 9 December 2019 в 22:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: