/// <summary>将任务标记为已成功完成。</summary> public void GetResult() { TaskAwaiter.ValidateEnd(m_task); }
/// <summary>指定的 awaiter 完成时,安排状态机,以继续下一操作。此方法可从部分受信任的代码调用。</summary> /// <param name="continuation"></param> public void UnsafeOnCompleted(Action continuation) { TaskAwaiter.OnCompletedInternal(m_task, continuation, m_continueOnCapturedContext); }
/// <summary>异步任务完成后关闭等待任务。</summary> /// <returns></returns> public TResult GetResult() { TaskAwaiter.ValidateEnd(m_task); return(m_task.Result); }
/// <summary>计划与此 awaiter 相关异步任务的延续操作。</summary> /// <param name="continuation"></param> public void UnsafeOnCompleted(Action continuation) { TaskAwaiter.OnCompletedInternal(m_task, continuation, true); }
/// <summary> /// Schedules the continuation onto the <see cref="Task{TResult}"/> associated with this /// <see cref="TaskAwaiter{TResult}"/>. /// </summary> /// <param name="continuation">The action to invoke when the await operation completes.</param> /// <exception cref="ArgumentNullException"> /// If <paramref name="continuation"/> is <see langword="null"/>. /// </exception> /// <exception cref="NullReferenceException">The awaiter was not properly initialized.</exception> /// <remarks>This method is intended for compiler user rather than use directly in code.</remarks> public void OnCompleted(Action continuation) { TaskAwaiter.OnCompletedInternal(_task, continuation, TaskAwaiter.ContinueOnCapturedContextDefault); }
/// <summary>Schedules the continuation onto the <see cref="System.Threading.Tasks.Task"/> associated with this <see cref="TaskAwaiter"/>.</summary> /// <param name="continuation">The action to invoke when the await operation completes.</param> /// <exception cref="System.ArgumentNullException">The <paramref name="continuation"/> argument is null (Nothing in Visual Basic).</exception> /// <exception cref="System.InvalidOperationException">The awaiter was not properly initialized.</exception> /// <remarks>This method is intended for compiler user rather than use directly in code.</remarks> #if !SILVERLIGHT //[SecurityCritical] #endif public void UnsafeOnCompleted(Action continuation) { TaskAwaiter.OnCompletedInternal(m_task, continuation, TaskAwaiter.CONTINUE_ON_CAPTURED_CONTEXT_DEFAULT); }