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или больше 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().

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