public static void CancelDisposeSafe(this CancellationTokenSource cancellationTokenSource) { if (null == cancellationTokenSource) { return; } CancellationTokenExtensions.CancelSafe(cancellationTokenSource); DisposeExtensions.DisposeSafe((IDisposable)cancellationTokenSource); }
public static Task AsTask(this CancellationToken cancellationToken) { if (!cancellationToken.CanBeCanceled) { return(CancellationTokenExtensions.PendingTask); } if (cancellationToken.IsCancellationRequested) { return(CancellationTokenExtensions.CancelledTask); } return(CancellationTokenExtensions.WaitAsync(cancellationToken)); }