小编use*_*178的帖子

我为什么要获得WaitingforActivation TaskStatus

我试图在VS2012框架4.5的表单上使用async和await命令.我的异步方法SlowMethodAsync不返回任何内容.请注意,此代码在控制台应用程序中正常工

private void button1_Click(object sender, EventArgs e)
{
    var task =  SlowMethodAsync();

    for (int i = 0; i < 10; i++)
    {
        Console.WriteLine(i);
    }

    System.Threading.Tasks.TaskStatus status = task.Status;

     Console.WriteLine("Slow method result on Thread: {0}", task.Result);    //This line never executes
    Console.WriteLine("Main complete on {0}", Thread.CurrentThread.ManagedThreadId);
}

//Why is this method not returning anything?

static async Task<int> SlowMethodAsync()
{
    Console.WriteLine("Slow method started on Thread: {0}", Thread.CurrentThread.ManagedThreadId);

    await Task.Delay(2000);

    Console.WriteLine("Slow method complete on Thread: {0}", Thread.CurrentThread.ManagedThreadId);

    return 42;
}
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
1
解决办法
4216
查看次数

标签 统计

c# ×1