TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Метод

Определение

Создает новый ITimer экземпляр , используя 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, или больше int32.MaxValue.

Комментарии

Делегат, указанный параметром обратного вызова, вызывается один раз после dueTime истечения и после этого каждый раз, когда period истекает интервал времени.

Если dueTime равно нулю, обратный вызов вызывается немедленно. Если dueTime значение равно –1 миллисекундамChange(TimeSpan, TimeSpan), callback метод не вызывается; таймер отключен, но его можно включить повторно, вызвав метод .

Если period значение равно 0 или -1 миллисекундам и dueTime является положительным, callback вызывается один раз; периодическое поведение таймера отключается, но его можно включить повторно с помощью Change(TimeSpan, TimeSpan) метода .

Возвращаемый ITimer экземпляр неявно укореняется, пока таймер по-прежнему запланирован.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) захватывает ExecutionContext и сохраняет его с ITimer для использования при вызове callback при каждом вызове. Этот захват можно подавлять с помощью SuppressFlow().

Применяется к