這個擴展方法定義在TaskExtensions類型中
就像這樣
static void Main(string[] args)
{
doo()
Task
}
static async void doo()
{
//運行嵌套的Task
//Task返回Task<Task<string》
//第一個await後result類型為Task<string>
var result = await Task
{
var task = Task
{
Task
return
})
return task;
})
//第二個await後才會返回string
Console
}
使用Unwrap後
static async void doo()
{
//運行嵌套的Task
//Task返回Task<Task<string》
//await後類型為Task<string>
var result = await Task
{
var task = Task
{
Task
return
})
return task;
})
//不需要await
Console
}
From:http://tw.wingwit.com/Article/program/net/201311/13821.html