TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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().