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