public virtual void Schedule(Action action, DateTime dateTime)
{
Argument.IsNotNull("action", action);
Argument.IsNotNull("dateTime", dateTime);
if (dateTime <= FastDateTime.Now)
{
throw new ArgumentOutOfRangeException("dateTime", "The date/time cannot be in the past");
}
Schedule(action, dateTime - FastDateTime.Now);
}
}