共用方式為


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) 方法

定義

使用 TimeSpan 值來測量時間間隔,建立新的 ITimer 實例。

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

參數

callback
TimerCallback

委派,表示在計時器引發時要執行的方法。 如果計時器在先前的回呼仍在處理時再次引發,方法應該重新進入,因為可能會同時在兩個執行緒上叫用此方法。

state
Object

要傳遞至 的物件 callback 。 這可能是 null

dueTime
TimeSpan

叫用之前 callback 延遲的時間量。 指定 InfiniteTimeSpan 以防止計時器啟動。 指定 Zero 以立即啟動計時器。

period
TimeSpan

callback 引動過程之間的時間間隔。 指定 InfiniteTimeSpan 以停用週期的信號功能。

傳回

新建立的 ITimer 執行個體。

例外狀況

callbacknull

perioddueTime 中的毫秒數為負數,且不等於 Infinite ,或 大於Int32.MaxValue

備註

回呼參數指定的委派會在經過之後 dueTime 叫用一次,並在每次 period 時間間隔經過之後叫用一次。

如果 dueTime 為零,則會立即叫用回呼。 如果 dueTime 為 -1 毫秒, callback 則不會叫用;計時器已停用,但可以藉由呼叫 Change(TimeSpan, TimeSpan) 方法來重新啟用。

如果 period 為 0 或 -1 毫秒且 dueTime 為正數, callback 則會叫用一次;計時器定期行為已停用,但可以使用 方法重新啟用 Change(TimeSpan, TimeSpan)

傳回的 ITimer 實例會在計時器仍排程時隱含根目錄。

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan)ExecutionContext 擷取 和 儲存,以 ITimer 在每次呼叫時用來叫 callback 用 。 您可以使用 來隱藏 SuppressFlow() 該擷取。

適用於