TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
Parâmetros
- callback
- TimerCallback
Um delegado que representa um método a ser executado quando o temporizador dispara. O método especificado para callback deve ser reentrante, pois pode ser invocado simultaneamente em dois threads se o temporizador disparar novamente antes ou enquanto um callback anterior ainda estiver a ser tratado.
- state
- Object
Um objeto a ser passado para o callback. Isto pode ser nulo.
- dueTime
- TimeSpan
É invocado o tempo a atrasar antes callback disso. Especifique InfiniteTimeSpan para impedir que o temporizador comece. Especifique Zero para iniciar o temporizador imediatamente.
- period
- TimeSpan
O intervalo de tempo entre invocações de callback. Especifique InfiniteTimeSpan desativar a sinalização periódica.
Devoluções
A instância recém-criada ITimer .
Exceções
callback é null.
O número de milissegundos no valor de dueTime ou é negativo e não é igual a Infinite, ou é maior que MaxValueperiod .
Observações
O delegado especificado pelo parâmetro de callback é invocado uma vez após dueTime o decorrer e, a partir daí, cada vez que o period intervalo de tempo decorre.
Se dueTime for zero, o callback é invocado imediatamente. Se dueTime for -1 milissegundos, callback não é invocado; o temporizador está desativado, mas pode ser reativado ao chamar o Change(TimeSpan, TimeSpan) método.
Se period for 0 ou -1 milissegundos e dueTime for positivo, callback é invocado uma vez; o comportamento periódico do temporizador é desativado, mas pode ser reativado usando o Change(TimeSpan, TimeSpan) método.
A instância de retorno ITimer ficará implicitamente enraizada enquanto o temporizador ainda está agendado.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) captura o ExecutionContext e armazena isso com o ITimer for use na invocação callback cada vez que é chamado. Essa captura pode ser suprimida com SuppressFlow().