12 implementations of ITaskCompletionAction
System.Private.CoreLib (12)
src\runtime\src\libraries\System.Private.CoreLib\src\System\IO\Stream.cs (1)
637private sealed class ReadWriteTask : Task<int>, ITaskCompletionAction
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs (8)
3007private protected sealed class CancellationPromise<TResult> : Task<TResult>, ITaskCompletionAction 3196private sealed class SetOnInvokeMres : ManualResetEventSlim, ITaskCompletionAction 5293private sealed class SetOnCountdownMres : ManualResetEventSlim, ITaskCompletionAction 6215private sealed class WhenAllPromise : Task, ITaskCompletionAction 6564private sealed class WhenAllPromise<T> : Task<T[]>, ITaskCompletionAction 6795private sealed class TwoTaskWhenAnyPromise<TTask> : Task<TTask>, ITaskCompletionAction where TTask : Task 7084private sealed class WhenEachState : Queue<Task>, IValueTaskSource, ITaskCompletionAction 7559internal sealed class UnwrapPromise<TResult> : Task<TResult>, ITaskCompletionAction
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\TaskFactory.cs (3)
1547private sealed class CompleteOnCountdownPromise : Task<Task[]>, ITaskCompletionAction 1617private sealed class CompleteOnCountdownPromise<T> : Task<Task<T>[]>, ITaskCompletionAction 2264internal sealed class CompleteOnInvokePromise<TTask> : Task<TTask>, ITaskCompletionAction where TTask : Task
18 references to ITaskCompletionAction
System.Private.CoreLib (18)
src\runtime\src\libraries\System.Private.CoreLib\src\System\IO\Stream.cs (2)
698void ITaskCompletionAction.Invoke(Task completingTask) 721bool ITaskCompletionAction.InvokeMayRunArbitraryCode => true;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\CompilerServices\ValueTaskAwaiter.cs (1)
207/// <summary>Invoked to set <see cref="ITaskCompletionAction.Invoke"/> of the <paramref name="box"/> as the awaiter's continuation.</summary>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs (15)
3069bool ITaskCompletionAction.InvokeMayRunArbitraryCode => true; 3071void ITaskCompletionAction.Invoke(Task completingTask) 3663case ITaskCompletionAction completionAction: 3712else if (currentContinuation is not ITaskCompletionAction) 3779Debug.Assert(currentContinuation is ITaskCompletionAction); 3780RunOrQueueCompletionAction((ITaskCompletionAction)currentContinuation, canInlineContinuations); 3788private void RunOrQueueCompletionAction(ITaskCompletionAction completionAction, bool allowInlining) 4691this is not ITaskCompletionAction) 4712internal void AddCompletionAction(ITaskCompletionAction action, bool addBeforeOthers = false) 4718internal bool TryAddCompletionAction(ITaskCompletionAction action, bool addBeforeOthers = false) 7100void ITaskCompletionAction.Invoke(Task completingTask) 7115bool ITaskCompletionAction.InvokeMayRunArbitraryCode => false; 7270if (continuationObject is ITaskCompletionAction singleCompletionAction) 7309private readonly ITaskCompletionAction m_action; 7312internal CompletionActionInvoker(ITaskCompletionAction action, Task completingTask)