Dispatcher.Invoke メソッド

定義

Dispatcher が関連付けられているスレッドで、指定したデリゲートを同期的に実行します。

オーバーロード

Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke(DispatcherPriority, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

Invoke(DispatcherPriority, TimeSpan, Delegate)

Dispatcher が作成されたスレッドで、指定したタイムアウトの値を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke(DispatcherPriority, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で、指定した期間内に同期的に実行します。

Invoke(Delegate, TimeSpan, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で、指定した期間内に同期的に実行します。

Invoke(Action, DispatcherPriority, CancellationToken)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

Invoke(DispatcherPriority, Delegate)

が関連付けられているスレッドで、指定した優先度で、指定したデリゲートを Dispatcher 同期的に実行します。

Invoke(Delegate, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを同期的に実行します。

Invoke(Action, DispatcherPriority)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

Invoke(Action)

Action が関連付けられているスレッドで、指定した Dispatcher を同期的に実行します。

Invoke(Delegate, DispatcherPriority, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

Invoke<TResult>(Func<TResult>)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を同期的に実行します。

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

次の例では、 を使用して InvokeにデリゲートをDispatcherNormal配置します。

// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object, ParamArray args As Object()) As Object

パラメーター

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

method
Delegate

複数の引数を受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

arg
Object

指定したメソッドに引数として渡すオブジェクト。

args
Object[]

指定したメソッドに引数として渡すオブジェクトの配列。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

priorityInactive が等価です。

priority は有効な DispatcherPriority ではありません。

methodnullです。

timeout は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

注釈

arg は、引数が必要ない場合に 使用 null できます。

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(DispatcherPriority, TimeSpan, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object) As Object

パラメーター

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

method
Delegate

複数の引数を受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

arg
Object

指定したメソッドに引数として渡すオブジェクト。 引数が必要ない場合は、null を指定できます。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

priorityInactive が等価です。

priority が有効な優先順位ではありません。

methodnullです。

注釈

argnull引数が必要ない場合は を指定できます。

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(DispatcherPriority, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As Object

パラメーター

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

method
Delegate

複数の引数を受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

arg
Object

指定したメソッドに引数として渡すオブジェクト。

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

priorityInactive が等価です。

priority が有効な優先順位ではありません。

methodnullです。

注釈

argnull引数が必要ない場合は を指定できます。

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan)

パラメーター

callback
Action

ディスパッチャーを介して呼び出すアクション デリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

cancellationToken
CancellationToken

アクションをキャンセルするかどうかを示すオブジェクト。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

例外

callbacknullです。

timeout は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

priority が有効な優先順位ではありません。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

適用対象

Invoke(DispatcherPriority, TimeSpan, Delegate)

Dispatcher が作成されたスレッドで、指定したタイムアウトの値を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate) As Object

パラメーター

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

method
Delegate

引数を受け取らないメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

methodnullです。

timeout は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

priorityInactive が等価です。

priority が有効な優先順位ではありません。

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(DispatcherPriority, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object) As Object

パラメーター

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

method
Delegate

引数を 1 つ受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

arg
Object

指定したメソッドに引数として渡すオブジェクト。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

priorityInactive が等価です。

priority が有効な優先順位ではありません。

methodnullです。

注釈

argnull引数が必要ない場合は を指定できます。

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で、指定した期間内に同期的に実行します。

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * TimeSpan * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, priority As DispatcherPriority, ParamArray args As Object()) As Object

パラメーター

method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

priority
DispatcherPriority

指定したメソッドが呼び出される、イベント キュー内の他の Dispatcher 保留中の操作に対する相対的な優先度。

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 null の可能性があります。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

例外

methodnullです。

timeout は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

priorityInactive が等価です。

priority が有効な優先順位ではありません。

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Delegate, TimeSpan, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で、指定した期間内に同期的に実行します。

public:
 System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, params object[] args);
member this.Invoke : Delegate * TimeSpan * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, ParamArray args As Object()) As Object

パラメーター

method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

timeout
TimeSpan

操作の開始を待機する最大時間。 ただし、操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 null引数が必要ない場合は を指定できます。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

例外

methodnullです。

timeout は -1 以外の負の数であり、スレッド間で呼び出しています。

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Action, DispatcherPriority, CancellationToken)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken)

パラメーター

callback
Action

ディスパッチャーを通じて呼び出すデリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

cancellationToken
CancellationToken

アクションをキャンセルするかどうかを示すオブジェクト。

例外

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

適用対象

Invoke(DispatcherPriority, Delegate)

が関連付けられているスレッドで、指定した優先度で、指定したデリゲートを Dispatcher 同期的に実行します。

public:
 System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate) As Object

パラメーター

priority
DispatcherPriority

イベント キュー内の他の保留中の操作 Dispatcher を基準にして、指定したメソッドが呼び出される優先度。

method
Delegate

引数を受け取らないメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

属性

例外

priorityInactive が等価です。

priority が有効な優先順位ではありません。

methodnullです。

次の例では、 を使用して InvokeにデリゲートをDispatcherNormal配置します。

// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
    ' Place delegate on the Dispatcher.
    Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Delegate, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを同期的に実行します。

public:
 System::Object ^ Invoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, params object[] args);
member this.Invoke : Delegate * obj[] -> obj
Public Function Invoke (method As Delegate, ParamArray args As Object()) As Object

パラメーター

method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 null の可能性があります。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke(Action, DispatcherPriority)

Action が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
 void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority)

パラメーター

callback
Action

ディスパッチャーを通じて呼び出すデリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

適用対象

Invoke(Action)

Action が関連付けられているスレッドで、指定した Dispatcher を同期的に実行します。

public:
 void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)

パラメーター

callback
Action

ディスパッチャーを通じて呼び出すデリゲート。

注釈

既定の優先度は です DispatcherPriority.Send

適用対象

Invoke(Delegate, DispatcherPriority, Object[])

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で同期的に実行します。

public:
 System::Object ^ Invoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As Object

パラメーター

method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。

priority
DispatcherPriority

イベント キュー内の他の保留中の操作 Dispatcher を基準にして、指定したメソッドが呼び出される優先度。

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 null の可能性があります。

戻り値

呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null

注釈

WPF では、 を作成 DispatcherObject したスレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された のButton内容を更新できません。 バックグラウンド スレッドが の Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている に Dispatcher 作業を委任する必要があります。 これは、 または BeginInvokeのいずれかをInvoke使用して実現されます。 Invoke は同期であり、 BeginInvoke 非同期です。 操作は、指定した にある の Dispatcher イベント キューに追加されます DispatcherPriority

Invoke は同期操作です。したがって、コールバックが返されるまで、コントロールは呼び出し元のオブジェクトに戻りません。

適用対象

Invoke<TResult>(Func<TResult>)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を同期的に実行します。

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback);
public TResult Invoke<TResult> (Func<TResult> callback);
member this.Invoke : Func<'Result> -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult)) As TResult

型パラメーター

TResult

指定されたデリゲートの戻り値の型。

パラメーター

callback
Func<TResult>

ディスパッチャーを通じて呼び出すデリゲート。

戻り値

TResult

callback によって返される値。

適用対象

Invoke<TResult>(Func<TResult>, DispatcherPriority)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority) As TResult

型パラメーター

TResult

指定されたデリゲートの戻り値の型。

パラメーター

callback
Func<TResult>

ディスパッチャーを通じて呼び出すデリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

戻り値

TResult

callback によって返される値。

適用対象

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken) As TResult

型パラメーター

TResult

指定されたデリゲートの戻り値の型。

パラメーター

callback
Func<TResult>

ディスパッチャーを通じて呼び出すデリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

cancellationToken
CancellationToken

操作をキャンセルするかどうかを示すオブジェクト。

戻り値

TResult

callback によって返される値。

例外

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

適用対象

Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

Func<TResult> が関連付けられているスレッドで、指定した Dispatcher を指定した優先順位で同期的に実行します。

public:
generic <typename TResult>
 TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan) As TResult

型パラメーター

TResult

指定されたデリゲートの戻り値の型。

パラメーター

callback
Func<TResult>

ディスパッチャーを通じて呼び出すデリゲート。

priority
DispatcherPriority

内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を Dispatcher決定する優先順位。

cancellationToken
CancellationToken

操作をキャンセルするかどうかを示すオブジェクト。

timeout
TimeSpan

操作の開始を待機する最大時間。 操作が開始されると、このメソッドが返される前に完了します。 無限待機を指定するには、-1 の値を使用します。 同じスレッド呼び出しでは、他の負の値は -1 に変換され、結果として無限待機になります。 スレッド間の呼び出しでは、他の負の値は を ArgumentOutOfRangeExceptionスローします。

戻り値

TResult

callback によって返される値。

例外

callbacknullです。

timeout は -1 以外の負の数であり、メソッドはスレッド間で呼び出されました。

priority が有効な優先順位ではありません。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

適用対象