TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Delegat reprezentujący metodę do wykonania podczas uruchamiania czasomierza. Metoda określona dla wywołania zwrotnego powinna być reentrant, ponieważ może być wywoływana jednocześnie w dwóch wątkach, jeśli czasomierz uruchamia się ponownie przed lub gdy poprzednie wywołanie zwrotne jest nadal obsługiwane.
- state
- Object
Obiekt, który ma zostać przekazany do obiektu callback. Może to być wartość null.
- dueTime
- TimeSpan
Czas opóźnienia przed callback wywołaniami. Określ, InfiniteTimeSpan aby uniemożliwić uruchamianie czasomierza. Określ Zero , aby natychmiast uruchomić czasomierz.
- period
- TimeSpan
Przedział czasu między wywołaniami callback. Określ, InfiniteTimeSpan aby wyłączyć okresowe sygnalizowanie.
Zwraca
Nowo utworzone ITimer wystąpienie.
Wyjątki
callback ma wartość null.
Liczba milisekund w wartości dueTime lub period jest ujemna, a nie równa Infinitewartości lub jest większa niż MaxValue.
Uwagi
Delegat określony przez parametr wywołania zwrotnego jest wywoływany raz po dueTime upływie, a następnie za każdym razem, gdy period interwał czasu upłynie.
Jeśli dueTime ma wartość zero, wywołanie zwrotne jest wywoływane natychmiast. Jeśli dueTime parametr jest -1 milisekund, callback nie jest wywoływany; czasomierz jest wyłączony, ale można go ponownie włączyć, wywołując metodę Change(TimeSpan, TimeSpan) .
Jeśli period wartość to 0 lub -1 milisekundy i dueTime jest dodatnia, callback jest wywoływana raz; okresowe zachowanie czasomierza jest wyłączone, ale można je ponownie włączyć przy użyciu Change(TimeSpan, TimeSpan) metody .
Wystąpienie zwracane ITimer będzie niejawnie zakorzenione, gdy czasomierz jest nadal zaplanowany.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) przechwytuje i przechowuje dane ExecutionContext , które z elementem ITimer do użycia w wywoływaniu callback za każdym razem, gdy jest wywoływany. Tego przechwytywania można pominąć za pomocą polecenia SuppressFlow().