TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
virtual System::Threading::ITimer ^ CreateTimer(System::Threading::TimerCallback ^ callback, System::Object ^ state, TimeSpan dueTime, TimeSpan period);
public virtual System.Threading.ITimer CreateTimer(System.Threading.TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period);
abstract member CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
override this.CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
Public Overridable Function CreateTimer (callback As TimerCallback, state As Object, dueTime As TimeSpan, period As TimeSpan) As ITimer
Параметры
- callback
- TimerCallback
Делегат, представляющий метод, выполняемый при срабатывании таймера. Метод, указанный для обратного вызова, должен быть повторен, так как он может вызываться одновременно на двух потоках, если таймер снова запускается до или в то время как предыдущий обратный вызов по-прежнему обрабатывается.
- state
- Object
Объект, передаваемый в callback. Это может быть null.
- dueTime
- TimeSpan
Время задержки до вызова callback. Укажите InfiniteTimeSpan, чтобы предотвратить запуск таймера. Укажите Zero, чтобы немедленно запустить таймер.
- period
- TimeSpan
Интервал времени между вызовами callback. Укажите InfiniteTimeSpan для отключения периодического сигнала.
Возвращаемое значение
Созданный экземпляр ITimer.
Исключения
callback имеет значение NULL.
Число миллисекунд в значении dueTime или period отрицательно и не равно Infiniteили больше MaxValue.
Комментарии
Делегат, указанный параметром обратного вызова, вызывается один раз после dueTime истекает, и после этого каждый раз, когда истекает интервал времени period.
Если dueTime равно нулю, обратный вызов вызывается немедленно. Если dueTime -1 миллисекундах, callback не вызывается; Таймер отключен, но его можно повторно включить, вызвав метод Change(TimeSpan, TimeSpan).
Если period равно 0 или -1 миллисекундам и dueTime положительно, callback вызывается один раз; периодическое поведение таймера отключено, но его можно повторно включить с помощью метода Change(TimeSpan, TimeSpan).
Возвращаемый ITimer экземпляр будет неявно корневым, пока таймер по-прежнему запланирован.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) записывает ExecutionContext и сохраняет ITimer для использования при вызове callback при каждом вызове. Этот захват можно отключить с помощью SuppressFlow().