.NET ParameterizedThreadStart错误的返回类型

war*_*bio 6 c# parameters methods multithreading return-type

我刚开始尝试使用Threads,我遇到了一个我无法自己解决的问题.我收到错误:错误1'bool projekt.ftp.UploadFil(object)'具有错误的返回类型

我使用此代码使用ftp.Uploadfile方法启动一个线程:

Thread ftpUploadFile = new Thread(new ParameterizedThreadStart(ftp.UploadFile));
ftpUploadFile.Start(e.FullPath);
Run Code Online (Sandbox Code Playgroud)

这是我使用的方法.

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

    /* blah blah fricken blah snip */

    return false; 

}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 7

如果您阅读了错误消息,您将看到问题是该方法的返回类型错误.

具体来说,您的UploadFile方法返回bool,但ParameterizedThreadStart委托返回void.

要解决此问题,请将UploadFile方法更改为return void,并将其所有return xxx;语句更改为return;.

或者,您可以UploadFile使用匿名方法进行换行,如下所示:

Thread ftpUploadFile = new Thread(delegate { ftp.UploadFile(e.FullPath); });
ftpUploadFile.Start();
Run Code Online (Sandbox Code Playgroud)