我正在實現函數的異步和正常版本。我已經實現了異步版本。對於正常版本,我可以複製粘貼並用其正常計數器部件替換異步函數調用的使用。或者我可以使用Result調用異步版本,如下所示。使用帶結果的異步版本實現函數
第一種方法:
public int SomeTask(int param)
{
//Something going on
return SomeOtherTask();
}
public async Task<int> SomeTaskAsync(int param)
{
//Something going on (copy pasted)
return await SomeOtherTaskAsync();
}
第二種方法:
public int SomeTask(int param)
{
return SomeTaskAsync(param).Result;
}
public async Task<int> SomeTaskAsync(int param)
{
//some function calls with await
}
是否與第二種方法可能出現的問題?
對你可能想讀 - [?我應該公開的同步方法異步包裝器(http://blogs.msdn.com/b/pfxteam/ archive/2012/03/24/10287244.aspx)和[我應該公開異步方法的同步包裝?](http://blogs.msdn.com/b/pfxteam/archive/2012/04/13/10293638.aspx )。兩篇文章的答案通常都不是。 –