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().