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, или больше 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().
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по