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

Definizione

Crea una nuova ITimer istanza 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 all'oggetto callback. Può essere Null.

dueTime
TimeSpan

Quantità di tempo di ritardo prima callback che venga richiamata. 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.

Valori restituiti

Istanza appena creata ITimer .

Eccezioni

callback è null.

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

Commenti

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

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 Change(TimeSpan, TimeSpan) metodo .

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

L'istanza restituita ITimer verrà radice implicitamente mentre il timer è ancora pianificato.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) acquisisce gli ExecutionContext archivi e che con per l'uso ITimer richiamano callback ogni volta che viene chiamato. L'acquisizione può essere eliminata con SuppressFlow().

Si applica a