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, gdy czasomierz zostanie wyzwolony. Metoda powinna być ponownie uruchamiana, ponieważ może być wywoływana jednocześnie w dwóch wątkach, jeśli czasomierz ponownie zostanie wyzwolony, podczas gdy poprzednie wywołanie zwrotne jest nadal obsługiwane.

state
Object

Obiekt, który ma zostać przekazany do obiektu callback. Może to być null.

dueTime
TimeSpan

Czas opóźnienia przed callback wywołaniem. Określ, InfiniteTimeSpan aby uniemożliwić uruchamianie czasomierza. Określ, Zero aby natychmiast uruchomić czasomierz.

period
TimeSpan

Interwał czasu między wywołaniami obiektu callback. Określ, InfiniteTimeSpan aby wyłączyć okresowe sygnały.

Zwraca

Nowo utworzone ITimer wystąpienie.

Wyjątki

callback to null.

Liczba milisekund w wartości dueTime lub period jest ujemna, a nie równa Infinitelub jest większa niż Int32.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 jest zero, wywołanie zwrotne jest wywoływane natychmiast. Jeśli dueTime wartość to -1 milisekundy, callback nie jest wywoływana; 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 .

Zwrócone ITimer wystąpienie jest niejawnie zakorzenione, gdy czasomierz jest nadal zaplanowany.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) przechwytuje ExecutionContext magazyny i, które mają ITimer być używane podczas wywoływania callback za każdym razem, gdy jest wywoływana. To przechwytywanie można pominąć za pomocą polecenia SuppressFlow().

Dotyczy