Sdílet prostřednictvím


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Metoda

Definice

Vytvoří novou instanci ITimer pomocí hodnot TimeSpan k měření časových intervalů.

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

Parametry

callback
TimerCallback

Delegát představující metodu, která se má spustit při spuštění časovače. Metoda zadaná pro zpětné volání by měla být znovu zadána, protože může být vyvolána současně na dvou vláknech, pokud časovač znovu spustí před nebo během předchozího zpětného volání je stále zpracován.

state
Object

Objekt, který se má předat callback. Může to být null.

dueTime
TimeSpan

Doba zpoždění před vyvolání callback. Zadejte InfiniteTimeSpan, aby se časovač nespouští. Zadejte Zero, aby se časovač spustil okamžitě.

period
TimeSpan

Časový interval mezi vyvoláním callback. Zadejte InfiniteTimeSpan k zakázání pravidelného signálu.

Návraty

Nově vytvořená instance ITimer.

Výjimky

callback má hodnotu null.

Počet milisekund v hodnotě dueTime nebo period je záporný a nerovná se Infinitenebo je větší než MaxValue.

Poznámky

Delegát určený parametrem zpětného volání se vyvolá jednou po uplynutí dueTime a po každém uplynutí period časového intervalu.

Pokud je dueTime nula, vyvolá se zpětné volání okamžitě. Pokud je dueTime -1 milisekund, callback se nevyvolá; časovač je zakázán, ale můžete ho znovu povolit voláním metody Change(TimeSpan, TimeSpan).

Pokud je period 0 nebo -1 milisekund a dueTime pozitivní, callback se vyvolá jednou; pravidelné chování časovače je zakázané, ale můžete ho znovu povolit pomocí metody Change(TimeSpan, TimeSpan).

Vrácená ITimer instance bude implicitně rootována, zatímco časovač je stále naplánovaný.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) zachytí ExecutionContext a uloží je s ITimer pro použití při vyvolání callback pokaždé, když se volá. Tato zachytávání lze potlačovat pomocí SuppressFlow().

Platí pro