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を指定した優先度で同期的に実行します。

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

// 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 は非同期です。 操作は、指定したDispatcherDispatcherPriorityのイベント キューに追加されます。

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ではありません。

methodnullです。

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

注釈

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

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

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 は有効な優先順位ではありません。

methodnullです。

注釈

arg 引数が必要ない場合は null できます

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

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 は有効な優先順位ではありません。

methodnullです。

注釈

arg 引数が必要ない場合は null できます

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

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をスローします。

例外

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 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

priority == Inactive です。

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

注釈

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

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 は有効な優先順位ではありません。

methodnullです。

注釈

arg 引数が必要ない場合は null できます

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

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 以外の負の数であり、このメソッドはスレッド間で呼び出されました。

priority == Inactive です。

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

注釈

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

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 の内容を更新できません。 バックグラウンド スレッドが Buttonの Content プロパティにアクセスするには、バックグラウンド スレッドが UI スレッドに関連付けられている Dispatcher に作業を委任する必要があります。 これは、 Invoke または BeginInvokeを使用して行います。 Invoke は同期であり、 BeginInvoke は非同期です。 操作は、指定したDispatcherDispatcherPriorityのイベント キューに追加されます。

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 は有効な優先順位ではありません。

methodnullです。

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

// 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 は非同期です。 操作は、指定したDispatcherDispatcherPriorityのイベント キューに追加されます。

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 は非同期です。 操作は、指定したDispatcherDispatcherPriorityのイベント キューに追加されます。

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 は非同期です。 操作は、指定したDispatcherDispatcherPriorityのイベント キューに追加されます。

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 は有効な優先順位ではありません。

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

適用対象