Dispatcher.Invoke メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Dispatcher が関連付けられているスレッドで、指定したデリゲートを同期的に実行します。
オーバーロード
例
次の例では、デリゲート Dispatcher を using Normal Invokeに配置します。
// 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 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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
。
- 属性
例外
priority
と Inactive が等価です。
priority
は有効な DispatcherPriority ではありません。
method
が null
です。
timeout
は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。
注釈
arg``null
は、引数が必要ない場合に使用できます。
WPF では、作成したスレッドのみがそのオブジェクトに DispatcherObject アクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を委任する Dispatcher 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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
。
- 属性
例外
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
method
が null
です。
注釈
arg``null
引数が必要ない場合に使用できます
WPF では、作成した DispatcherObject スレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を Dispatcher 委任する必要があります。 これは、どちらかInvokeBeginInvokeを使用して実現されます。 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
。
- 属性
例外
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
method
が null
です。
注釈
arg``null
引数が必要ない場合に使用できます
WPF では、作成した DispatcherObject スレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を Dispatcher 委任する必要があります。 これは、どちらかInvokeBeginInvokeを使用して実現されます。 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は .
例外
callback
が null
です。
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
。
- 属性
例外
method
が null
です。
timeout
は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
注釈
WPF では、作成した DispatcherObject スレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を Dispatcher 委任する必要があります。 これは、どちらかInvokeBeginInvokeを使用して実現されます。 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
。
- 属性
例外
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
method
が null
です。
注釈
arg``null
引数が必要ない場合に使用できます
WPF では、作成した DispatcherObject スレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を Dispatcher 委任する必要があります。 これは、どちらかInvokeBeginInvokeを使用して実現されます。 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
。
例外
method
が null
です。
timeout
は -1 以外の負の数であり、このメソッドはスレッド間で呼び出されました。
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
注釈
WPF では、作成した DispatcherObject スレッドのみがそのオブジェクトにアクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を Dispatcher 委任する必要があります。 これは、どちらかInvokeBeginInvokeを使用して実現されます。 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
。
例外
method
が null
です。
timeout
は -1 以外の負の数であり、スレッド間で呼び出しています。
注釈
WPF では、作成したスレッドのみがそのオブジェクトに DispatcherObject アクセスできます。 たとえば、メイン UI スレッドからスピンオフされたバックグラウンド スレッドは、UI スレッドで作成された内容 Button を更新できません。 バックグラウンド スレッドが Content プロパティ Buttonにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている作業を委任する Dispatcher 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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
。
- 属性
例外
priority
と Inactive が等価です。
priority
が有効な優先順位ではありません。
method
が null
です。
例
次の例では、デリゲート Dispatcher を using Normal Invokeに配置します。
// 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 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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 必要があります。 これは、どちらかをInvokeBeginInvoke使用して行います。 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
返される値。
例外
callback
が null
です。
timeout
は -1 以外の負の数であり、メソッドはスレッド間で呼び出されました。
priority
が有効な優先順位ではありません。