<PackageReference Include="System.Reactive" Version="7.0.0-preview.1" />

ThreadPoolTimerExtensions

using System.Reactive.Disposables; using System.Runtime.CompilerServices; using Windows.Foundation; using Windows.System.Threading; namespace System.Reactive.Concurrency { [NullableContext(1)] [Nullable(0)] internal static class ThreadPoolTimerExtensions { public static IDisposable AsDisposable(this ThreadPoolTimer threadPoolTimer) { return Disposable.Create(threadPoolTimer, delegate(ThreadPoolTimer t) { t.Cancel(); }); } public static IDisposable AsDisposable(this IAsyncInfo asyncInfo) { return Disposable.Create(asyncInfo, delegate(IAsyncInfo i) { i.Cancel(); }); } } }