簡體   English   中英

無法將類型“字符串”隱式轉換為“System.Threading.Tasks.Task”<string> ' 在 c#</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 function 更改為

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

正如這個問題的一個答案所建議的那樣

無法將類型“string”隱式轉換為“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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM