Condividi tramite


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

Definizione

Crea una nuova istanza di ITimer utilizzando TimeSpan valori per misurare gli intervalli di tempo.

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

Parametri

callback
TimerCallback

Delegato che rappresenta un metodo da eseguire quando viene attivato il timer. Il metodo specificato per il callback deve essere reentrant, perché può essere richiamato contemporaneamente su due thread se il timer viene nuovamente attivato prima o mentre un callback precedente è ancora gestito.

state
Object

Oggetto da passare al callback. Può essere Null.

dueTime
TimeSpan

Quantità di tempo di ritardo prima che venga richiamata callback. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.

period
TimeSpan

Intervallo di tempo tra le chiamate di callback. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.

Restituisce

Istanza di ITimer appena creata.

Eccezioni

callback è null.

Il numero di millisecondi nel valore di dueTime o period è negativo e non uguale a Infiniteoppure è maggiore di MaxValue.

Commenti

Il delegato specificato dal parametro di callback viene richiamato una volta dopo dueTime trascorso e successivamente ogni volta che scade l'intervallo di tempo period.

Se dueTime è zero, il callback viene richiamato immediatamente. Se dueTime è -1 millisecondi, callback non viene richiamato; il timer è disabilitato, ma può essere riabilitato chiamando il metodo Change(TimeSpan, TimeSpan).

Se period è 0 o -1 millisecondi e dueTime è positivo, callback viene richiamato una volta; il comportamento periodico del timer è disabilitato, ma può essere riabilitato usando il metodo Change(TimeSpan, TimeSpan).

Il valore restituito ITimer'istanza verrà rooted in modo implicito mentre il timer è ancora pianificato.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) acquisisce il ExecutionContext e archivia l'oggetto con il ITimer da usare richiamando callback ogni volta che viene chiamato. L'acquisizione può essere eliminata con SuppressFlow().

Si applica a