<PackageReference Include="System.Reactive" Version="6.0.2" />

SchedulerOperation

public sealed class SchedulerOperation
Represents an awaitable scheduler operation. Awaiting the object causes the continuation to be posted back to the originating scheduler's work queue.
using System.Runtime.CompilerServices; using System.Threading; namespace System.Reactive.Concurrency { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public sealed class SchedulerOperation { private readonly Func<Action, IDisposable> _schedule; private readonly CancellationToken _cancellationToken; private readonly bool _postBackToOriginalContext; internal SchedulerOperation(Func<Action, IDisposable> schedule, CancellationToken cancellationToken) : this(schedule, false, cancellationToken) { } internal SchedulerOperation(Func<Action, IDisposable> schedule, bool postBackToOriginalContext, CancellationToken cancellationToken) { _schedule = schedule; _cancellationToken = cancellationToken; _postBackToOriginalContext = postBackToOriginalContext; } public SchedulerOperation ConfigureAwait(bool continueOnCapturedContext) { return new SchedulerOperation(_schedule, continueOnCapturedContext, _cancellationToken); } public SchedulerOperationAwaiter GetAwaiter() { return new SchedulerOperationAwaiter(_schedule, _postBackToOriginalContext, _cancellationToken); } } }