C# 无法从方法组转换为System.Func<;字符串>;

C# 无法从方法组转换为System.Func<;字符串>;,c#,wpf,.net-4.0,task-parallel-library,C#,Wpf,.net 4.0,Task Parallel Library,我正在使用.NET4.0任务类在后台使用线程下载google网页。问题是,如果我的函数有一个或多个参数,应用程序将无法编译(idk如何传递该参数)。所以我想知道如何在DoWork()方法中传递函数的参数 这项工作: public Task<String> DoWork() { //create task, of which runs our work of a thread pool thread return Task.Factory.Sta

我正在使用.NET4.0任务类在后台使用线程下载google网页。问题是,如果我的函数有一个或多个参数,应用程序将无法编译(idk如何传递该参数)。所以我想知道如何在DoWork()方法中传递函数的参数

这项工作:

    public Task<String> DoWork() {
        //create task, of which runs our work of a thread pool thread
        return Task.Factory.StartNew<String>(this.DownloadString);

    }


    private String DownloadString()
    {
        using (var wc = new WebClient())
            return wc.DownloadString("http://www.google.com");
    }
public Task DoWork(){
//创建任务,其中运行线程池线程的工作
返回Task.Factory.StartNew(this.DownloadString);
}
私有字符串下载字符串()
{
使用(var wc=new WebClient())
返回wc.DownloadString(“http://www.google.com");
}
这并不是:

    public Task<String> DoWork() {
        //create task, of which runs our work of a thread pool thread
        return Task.Factory.StartNew<String>(this.DownloadString);

    }


    private String DownloadString(String uri)
    {
        using (var wc = new WebClient())
            return wc.DownloadString(uri);
    }
public Task DoWork(){
//创建任务,其中运行线程池线程的工作
返回Task.Factory.StartNew(this.DownloadString);
}
私有字符串下载字符串(字符串uri)
{
使用(var wc=new WebClient())
返回wc.DownloadString(uri);
}
错误是:

cannot convert from 'method group' to 'System.Func<string>'
无法从“方法组”转换为“System.Func”
提前谢谢你

return Task.Factory.StartNew(() => this.DownloadString("http://...."));


你的第二段代码应该如何知道下载什么?你在哪里传递
uri
参数?@Blorgbeard,问题是,我不知道如何传递它。这就是编译器的错误。。您的
DownloadString
不是
Func
,而是
Func
。Task.StartNew期望的是前者,而不是后者。您的第二个代码段如何知道下载什么?你在哪里传递
uri
参数?@Blorgbeard,问题是,我不知道如何传递它。这就是编译器的错误。。您的
DownloadString
不是
Func
,而是
Func
。Task.StartNew应为前者,而不是后者。委托“System.Func”不接受1arguments@DanielPascal我修好了,谢谢你。很明显,很简单。既然你先回答了,我就接受你的。委托“System.Func”不接受1arguments@DanielPascal我修好了,谢谢你。很明显,很简单。既然你先回答,我就接受你的。
return Task.Factory.StartNew(() => DownloadString("https://www.google.com"));
return Task.Factory.StartNew(() =>
            {
                using (var wc = new WebClient())
                    return wc.DownloadString("https://www.google.com");
            });