Share via


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

Definition

Erstellt eine neue ITimer instance mit Werten zum Messen von TimeSpan Zeitintervallen.

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

Parameter

callback
TimerCallback

Ein Delegat, der eine Methode darstellt, die ausgeführt werden soll, wenn der Timer ausgelöst wird. Die Methode sollte erneut ausgeführt werden, da sie gleichzeitig für zwei Threads aufgerufen werden kann, wenn der Timer erneut ausgelöst wird, während ein vorheriger Rückruf noch verarbeitet wird.

state
Object

Ein -Objekt, das an den callbackübergeben werden soll. Dieser Wert kann null sein.

dueTime
TimeSpan

Die Zeitspanne, die vor dem callback Aufruf verzögert werden muss. Geben Sie InfiniteTimeSpan an, um das Starten des Zeitgebers zu verhindern. Geben Sie Zero an, um den Timer sofort zu starten.

period
TimeSpan

Das Zeitintervall zwischen den Aufrufen von callback. Geben Sie InfiniteTimeSpan an, um periodisches Signalisieren zu deaktivieren.

Gibt zurück

Die neu erstellte ITimer-Instanz.

Ausnahmen

callback ist null

Die Anzahl der Millisekunden im Wert von dueTime oder period ist negativ und nicht gleich Infiniteoder größer als Int32.MaxValue.

Hinweise

Der durch den Rückrufparameter angegebene Delegat wird einmal nach dueTime Ablauf aufgerufen, und danach jedes Mal, wenn das period Zeitintervall verstrichen ist.

Wenn dueTime null ist, wird der Rückruf sofort aufgerufen. Wenn dueTime -1 Millisekunden beträgt, callback wird nicht aufgerufen. Der Timer ist deaktiviert, kann aber durch Aufrufen der Change(TimeSpan, TimeSpan) -Methode erneut aktiviert werden.

Wenn period 0 oder -1 Millisekunden beträgt und dueTime positiv ist, callback wird einmal aufgerufen. Das periodische Verhalten des Timers ist deaktiviert, kann aber mithilfe der Change(TimeSpan, TimeSpan) -Methode erneut aktiviert werden.

Die zurückgegebene ITimer instance wird implizit gerootet, während der Timer noch geplant ist.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) erfasst die ExecutionContext und speichert, die bei ITimer jedem Aufruf zur Verwendung beim Aufrufen callback verwendet wird. Diese Erfassung kann mit SuppressFlow()unterdrückt werden.

Gilt für: