为什么会发生异常,但在异步任务

时间:2017-03-10 09:22:33

标签: c# multithreading winforms task

我尝试了一个简单的代码来测试在winform中工作的任务:

private void button1_Click(object sender, EventArgs e)
{
    Task.Run(Counting).ContinueWith(CheckTaskResult);
}

private void CheckTaskResult(Task task)
{
    if (task.IsFaulted)
    {
        //exception found
    }
}

public async Task Counting()
{
    var status = await Task.FromResult("Done");
    // why it works
    button1.Text = DateTime.Now.ToString();
}

我当然在CheckTaskResult函数中遇到错误(每个人都知道原因),但奇怪的是button1.Text也发生了变化。

为什么会发生错误 - 控件是否同时发生变化?

0 个答案:

没有答案