如何从Winforms按钮单击事件中调用异步方法?

时间:2018-08-03 01:54:43

标签: c# async-await

我有一个要异步运行的I / O绑定方法。

the help docs中,我提到我应该使用async并在没有Task.Run的情况下等待

引用

  

对于绑定到I / O的代码,您等待操作返回Task或   异步方法中的任务。

如何通过winforms按钮单击事件来做到这一点?

我尝试过

private void button_Click(object sender, EventArgs e)
{ 
      await doLoadJob();
}

private async Task<int> doLoadJob()
{
    await loadJob();   
    return 0;
}

1 个答案:

答案 0 :(得分:5)

您的button_Click方法必须为async。在asyncprivate之间放置void

private async void button_Click(object sender, EventArgs e)
{ 
     await LongOperation();
}