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

System.Reactive.Concurrency.SchedulerWrapper

namespace System.Reactive.Concurrency { internal abstract class SchedulerWrapper : IScheduler, IServiceProvider { protected readonly IScheduler _scheduler; public DateTimeOffset Now { get; } protected SchedulerWrapper(IScheduler scheduler); protected SchedulerWrapper(IScheduler scheduler, ConditionalWeakTable<IScheduler, IScheduler> cache); public IDisposable Schedule<[System.Runtime.CompilerServices.Nullable(2)] TState>(TState state, Func<IScheduler, TState, IDisposable> action); public IDisposable Schedule<[System.Runtime.CompilerServices.Nullable(2)] TState>(TState state, TimeSpan dueTime, Func<IScheduler, TState, IDisposable> action); public IDisposable Schedule<[System.Runtime.CompilerServices.Nullable(2)] TState>(TState state, DateTimeOffset dueTime, Func<IScheduler, TState, IDisposable> action); protected virtual Func<IScheduler, TState, IDisposable> Wrap<[System.Runtime.CompilerServices.Nullable(2)] TState>(Func<IScheduler, TState, IDisposable> action); protected IScheduler GetRecursiveWrapper(IScheduler scheduler); protected abstract SchedulerWrapper Clone(IScheduler scheduler, ConditionalWeakTable<IScheduler, IScheduler> cache); public object GetService(Type serviceType); protected abstract bool TryGetService(IServiceProvider provider, Type serviceType, out object service); } }