private async System.Threading.Tasks.Task buttonPaste_ClickAsync(object sender, EventArgs e)
{
textBoxVideoLink.Text = Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text);
string uri = textBoxVideoLink.Text;
var youTube = YouTube.Default;
var video = await youTube.GetVideoAsync(uri);
textBoxVideoTitle.Text = video.Title;
}
没有可见的错误并且它会构建但是我在FormMain.Designer.cs
中收到错误并且它会强调(this.buttonPaste_ClickAsync
);
实际错误Task FormMain.buttonPaste_ClickAsync(object sender, EventArgs e)
的返回类型错误。
答案 0 :(得分:0)
今天遇到同样的问题,我有一个按钮正在向API发布一些数据,因此我不得不asynchronously
进行操作以避免用户界面上的任何问题。但是它不允许方法签名为async Task
,所以对我有用的很简单,我只用async Task
替换了async void
。例如,我将其修改为如下所示:
public async void btn1_Click(object s, EventArgs e)
{
// await your API call.
}
PS::如果要读取和与用户界面对象进行交互(例如在标签中显示文本或将文本设置为文本框),则可能要调用该控件,以使其不会抛出任何异常线程异常,因为它可能不允许您与async method