TaskCompletionSource生成Task的另一種方法.使用TaskCompletionSource很簡單,只需要實例化它即可。TaskCompletionSource有一個Task屬性,你可以對該屬性暴露的task做操作,比如讓它wait或者ContinueWith等操作。當然,這個task由TaskCompletionSource完全控制。
大多數時候,只在目標方法要調用基於事件API,又要返回Task的時候使用。比如下面的ApiWrapper方法,該方法要返回Task<string>,又要調用EventClass對象的Do方法,並且等到Do方法觸發Done事件后,Task才能得到結果並返回。



