简体   繁体   中英

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

I have this code

    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;
     }

I changed this button1_Click function to

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

as was recommended by one answers of this question

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

but that still does not work

在此处输入图像描述

Add async in button1_Click event

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

Use Async Task in button1_Click method

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM