この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Dispatcher クラス

スレッドの作業項目のキューを管理するためのサービスを提供します。

System.Object
  System.Windows.Threading.Dispatcher

名前空間:  System.Windows.Threading
アセンブリ :  System.Windows (System.Windows.dll 内)

[CLSCompliantAttribute(true)]
public sealed class Dispatcher

Dispatcher 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドSilverlight for Windows Phone によるサポートBeginInvoke(Action) Dispatcher が関連付けられているスレッドで、指定したデリゲートを非同期に実行します。
パブリック メソッドSilverlight for Windows Phone によるサポートBeginInvoke(Delegate, Object[]) Dispatcher が関連付けられているスレッドで、指定した一連の引数を使用して、指定したデリゲートを非同期的に実行します。
パブリック メソッドSilverlight for Windows Phone によるサポートCheckAccess呼び出し元のスレッドがこの Dispatcher に関連付けられたスレッドであるかどうかを判断します。
パブリック メソッドSilverlight for Windows Phone によるサポートEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドSilverlight for Windows Phone によるサポートFinalize Object がガベージ コレクションにより収集される前に、オブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドSilverlight for Windows Phone によるサポートGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドSilverlight for Windows Phone によるサポートGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドSilverlight for Windows Phone によるサポートMemberwiseClone 現在の Object の浅いコピーを作成します。 (Object から継承されます。)
パブリック メソッドSilverlight for Windows Phone によるサポートToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

現在、Dispatcher クラスは、ユーザー インターフェイス (UI) スレッドで非 UI スレッドからコードを実行する場合のみをサポートしています。

UI スレッドの Dispatcher オブジェクトには、DependencyObject.Dispatcher プロパティと ScriptObject.Dispatcher プロパティを使用してアクセスすることができます。 これらはインスタンス メソッドですが、このような種類のインスタンスは、非 UI スレッドからアクセスできないことがよくあります。 ただし、アプリケーションの Deployment オブジェクトは DependencyObject なので、Current プロパティを使用して任意のスレッドで使用できます。

呼び出し元が UI スレッドにあるかどうかを判断するには、CheckAccess メソッドを呼び出します。 呼び出し元が UI スレッドにない場合、BeginInvoke を呼び出して、指定したデリゲートを UI スレッドで実行できます。

このクラスを使用する方法を次のコード例に示します。


private delegate void AddTextDelegate(Panel p, String text);

private void AddText(Panel p, String text)
{
    p.Children.Clear();
    p.Children.Add(new TextBlock { Text = text });
}

private void TestBeginInvokeWithParameters(Panel p)
{
    if (p.Dispatcher.CheckAccess()) AddText(p, "Added directly.");
    else p.Dispatcher.BeginInvoke(
        new AddTextDelegate(AddText), p, "Added by Dispatcher.");
}


Silverlight

サポート対象 : 5、4、3

Silverlight for Windows Phone

サポート対象 : Windows Phone OS 7.1、Windows Phone OS 7.0

Silverlight でサポートされるオペレーティング システムの詳細については、「サポートされているオペレーティング システムとブラウザー」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コミュニティの追加

追加
表示: