无法在 C# 中将类型 'string' 隐式转换为 'System.Threading.Tasks.Task<string>'

Cannot implicitly convert type 'string' to 'System.Threading.Tasks.Task<string>' in c#

我有这个代码

    private void button1_Click(object sender, EventArgs e)
    {
        //===========> Getting error here <==================//
        textBox2.Text = CallFunc(textBox1.Text);
    }

    static async Task<string> CallFunc(string str)
    {
        Program p = new Program();
        string s = await p.DocumentToText(str);
        return s;
    }


public async Task<string> DocumentToText(string path)
    {
        string txt = String.Empty;
        AmazonTextractClient client = new AmazonTextractClient(key, Skey, reg);
        //some AWS functionality

        Thread.Sleep(2000);
        txt = "hello world";
        return txt;
     }

我将此 button1_Click 函数更改为

    private void button1_Click(object sender, EventArgs e)
    {
        var d = await CallFunc(textBox1.Text);
        textBox2.Text = d.Results();
    }

正如这个问题的一个答案所推荐的那样

Cannot implicitly convert type 'string' to 'System.Threading.Tasks.Task<string>'

但还是不行

button1_Click事件中添加async

private async void button1_Click(object sender, EventArgs e)
{
    var d = await CallFunc(textBox1.Text);
    textBox2.Text = d;
}

在button1_Click方法中使用异步任务

private async Task button1_Click(object sender, EventArgs e)
{
    var d = await CallFunc(textBox1.Text);
    textBox2.Text = d.Results();
}