Dispatcher.Invoke メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Dispatcherが関連付けられているスレッドで、指定したデリゲートを同期的に実行します。
オーバーロード
例
次の例では、Dispatcherを使用して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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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
ディスパッチャーを介して呼び出す 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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を使用して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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 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>
ディスパッチャーを介して呼び出すデリゲート。
返品
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内の他の保留中の操作に対して、指定したコールバックが呼び出される順序を決定する優先順位。
返品
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
操作を取り消すかどうかを示すオブジェクト。
返品
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をスローします。
返品
callbackによって返される値。
例外
callback は nullです。
timeout は -1 以外の負の数であり、メソッドはスレッド間で呼び出されました。
priority は有効な優先順位ではありません。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。