<PackageReference Include="System.Reactive" Version="6.0.0-preview.9" />

ScheduledItem<TAbsolute, TValue>

public sealed class ScheduledItem<TAbsolute, TValue> : ScheduledItem<TAbsolute> where TAbsolute : IComparable<TAbsolute>
Represents a scheduled work item based on the materialization of an IScheduler.Schedule method call.
using System.Collections.Generic; using System.Runtime.CompilerServices; namespace System.Reactive.Concurrency { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })] public sealed class ScheduledItem<[System.Runtime.CompilerServices.Nullable(0)] TAbsolute, [System.Runtime.CompilerServices.Nullable(2)] TValue> : ScheduledItem<TAbsolute> where TAbsolute : IComparable<TAbsolute> { private readonly IScheduler _scheduler; private readonly TValue _state; private readonly Func<IScheduler, TValue, IDisposable> _action; public ScheduledItem(IScheduler scheduler, TValue state, Func<IScheduler, TValue, IDisposable> action, TAbsolute dueTime, IComparer<TAbsolute> comparer) : base(dueTime, comparer) { if (scheduler == null) throw new ArgumentNullException("scheduler"); _scheduler = scheduler; _state = state; if (action == null) throw new ArgumentNullException("action"); _action = action; } public ScheduledItem(IScheduler scheduler, TValue state, Func<IScheduler, TValue, IDisposable> action, TAbsolute dueTime) : this(scheduler, state, action, dueTime, (IComparer<TAbsolute>)Comparer<TAbsolute>.Default) { } protected override IDisposable InvokeCore() { return _action(_scheduler, _state); } } }