TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Yöntem

Tanım

Zaman aralıklarını ölçmek için TimeSpan değerleri kullanarak yeni bir ITimer örneği oluşturur.

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

Parametreler

callback
TimerCallback

Zamanlayıcı çalıştırıldığında yürütülecek yöntemi temsil eden bir temsilci. Zamanlayıcı daha önce veya önceki bir geri çağırma işleniyorken yeniden tetiklenirse, iki iş parçacığında aynı anda çağrılabileceğinden geri çağırma için belirtilen yöntem yeniden giriş yapmalıdır.

state
Object

callbackgeçirilecek nesne. Bu null olabilir.

dueTime
TimeSpan

callback çağrılmadan önce geciktirme süresi. Zamanlayıcının başlatılmasını önlemek için InfiniteTimeSpan belirtin. Zamanlayıcıyı hemen başlatmak için Zero belirtin.

period
TimeSpan

callbackçağrıları arasındaki zaman aralığı. Düzenli sinyalleri devre dışı bırakmak için InfiniteTimeSpan belirtin.

Döndürülenler

Yeni oluşturulan ITimer örneği.

Özel durumlar

callback null.

dueTime veya period değerindeki milisaniye sayısı negatiftir ve Infiniteeşit değildir veya MaxValuedeğerinden büyüktür.

Açıklamalar

Geri çağırma parametresi tarafından belirtilen temsilci, dueTime geçtikten sonra bir kez ve ardından period zaman aralığı her geçtiğinde çağrılır.

dueTime sıfırsa, geri çağırma hemen çağrılır. dueTime -1 milisaniye ise callback çağrılmıyor; zamanlayıcı devre dışı bırakılır, ancak Change(TimeSpan, TimeSpan) yöntemi çağrılarak yeniden etkinleştirilebilir.

period 0 veya -1 milisaniye ve dueTime pozitifse, callback bir kez çağrılır; zamanlayıcının düzenli davranışı devre dışı bırakılır, ancak Change(TimeSpan, TimeSpan) yöntemi kullanılarak yeniden etkinleştirilebilir.

Süreölçer hala zamanlanmışken dönüş ITimer örneği örtük olarak köklenir.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) ExecutionContext yakalar ve her çağrıldığında callback çağırmak için ITimer ile birlikte depolar. Bu yakalama SuppressFlow()ile gizlenebilir.

Şunlara uygulanır