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

Definicja

Tworzy nowe ITimer wystąpienie przy użyciu TimeSpan wartości do mierzenia interwałów czasu.

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().

Dotyczy