TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) メソッド

定義

ITimer値を使用して時間間隔を測定する新しいTimeSpan インスタンスを作成します。

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

タイマーが起動したときに実行されるメソッドを表すデリゲート。 コールバックに指定されたメソッドは再入可能である必要があります。これは、前のコールバックがまだ処理される前または処理中にタイマーが再び起動した場合に、2 つのスレッドで同時に呼び出される可能性があるためです。

state
Object

callbackに渡されるオブジェクト。 これは null である可能性があります。

dueTime
TimeSpan

callbackが呼び出されるまでの遅延時間。 タイマーが開始されないようにするには、 InfiniteTimeSpan を指定します。 タイマーをすぐに開始する Zero を指定します。

period
TimeSpan

callbackの呼び出し間の時間間隔。 定期的なシグナリングを無効にする InfiniteTimeSpan を指定します。

返品

新しく作成された ITimer インスタンス。

例外

callback が null です。

dueTimeまたはperiodの値のミリ秒数が負の値であり、Infiniteと等しくないか、MaxValueより大きい。

注釈

コールバック パラメーターで指定されたデリゲートは、 dueTime が経過した後、その後、 period の時間間隔が経過するたびに 1 回呼び出されます。

dueTimeが 0 の場合、コールバックはすぐに呼び出されます。 dueTimeが -1 ミリ秒の場合、callbackは呼び出されません。タイマーは無効になりますが、Change(TimeSpan, TimeSpan) メソッドを呼び出すことによって再度有効にすることができます。

periodが 0 または -1 ミリ秒で、dueTimeが正の場合、callbackは 1 回呼び出されます。タイマーの定期的な動作は無効になりますが、Change(TimeSpan, TimeSpan) メソッドを使用して再度有効にすることができます。

タイマーがまだスケジュールされている間、戻り ITimer インスタンスは暗黙的にルート化されます。

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan)は、ExecutionContextをキャプチャし、呼び出されるたびにcallbackを呼び出すときに使用するITimerを格納します。 そのキャプチャは、 SuppressFlow()で抑制できます。

適用対象