1
0

AsyncEnumerableExt.cs 996 B

1234567891011121314151617181920212223
  1. // Licensed to the .NET Foundation under one or more agreements.
  2. // The .NET Foundation licenses this file to you under the MIT License.
  3. // See the LICENSE file in the project root for more information.
  4. using System.Collections.Generic;
  5. using System.Runtime.CompilerServices;
  6. namespace System.Threading.Tasks
  7. {
  8. internal static class AsyncEnumerableExt
  9. {
  10. #if NET6_0_OR_GREATER
  11. #pragma warning disable CA1068 // CancellationToken parameters must come last. The arguments in favour of doing that also apply to the continueOnCapturedContext parameter
  12. #endif
  13. public static ConfiguredCancelableAsyncEnumerable<T>.Enumerator GetConfiguredAsyncEnumerator<T>(this IAsyncEnumerable<T> enumerable, CancellationToken cancellationToken, bool continueOnCapturedContext)
  14. #if NET6_0_OR_GREATER
  15. #pragma warning restore CA1068
  16. #endif
  17. {
  18. return enumerable.ConfigureAwait(continueOnCapturedContext).WithCancellation(cancellationToken).GetAsyncEnumerator();
  19. }
  20. }
  21. }