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

Definice

Vytvoří novou ITimer instanci pomocí TimeSpan hodnot 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 do objektu callback. Může to být null.

dueTime
TimeSpan

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

period
TimeSpan

Časový interval mezi vyvoláním funkce callback. Určete InfiniteTimeSpan , že chcete zakázat pravidelné signály.

Návraty

Nově vytvořená ITimer instance.

Výjimky

callback je null.

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

Poznámky

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

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

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

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

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) zachytí ExecutionContext a uloží, které se ITimer používají při vyvolání callback při každém volání. Tento záznam lze potlačit pomocí SuppressFlow().

Platí pro