GuiDispatcher
バッチ処理と定期的な実行サポートでWPF UIスレッドにアクションをマーシャリングするディスパッチ・実装。
継承元: Disposable
実装: IDispatcher
コンストラクター
public GuiDispatcher()
guiDispatcher = GuiDispatcher()
スレッドディスパッチャを使用してGuiDispatcherクラスの新しいインスタンスを初期化します。
public GuiDispatcher(Dispatcher dispatcher)
guiDispatcher = GuiDispatcher(dispatcher)
GuiDispatcherクラスの新しいインスタンスを初期化します。
- dispatcher
- UIスレッドディスパッチャインスタンス。
プロパティ
public Dispatcher Dispatcher { get; }
value = guiDispatcher.Dispatcher
UIスレッドディスパッチャインスタンスを取得します。
public static GuiDispatcher GlobalDispatcher { get; }
value = GuiDispatcher.GlobalDispatcher
GuiDispatcher@のグローバルシングルトンインスタンスを取得します。
public TimeSpan Interval { get; set; }
value = guiDispatcher.Interval
guiDispatcher.Interval = value
バッチ処理間隔を取得または設定します。デフォルトは1 msです。
public int MaxPeriodicalActionErrors { get; set; }
value = guiDispatcher.MaxPeriodicalActionErrors
guiDispatcher.MaxPeriodicalActionErrors = value
削除される前に、定期的なアクションで許可されるエラーの最大数を取得または設定します。 -1 を使用して制限を無効にします。
public int PendingActionsCount { get; }
value = guiDispatcher.PendingActionsCount
処理を待ち受けるアクションの数を取得します。
メソッド
public void AddAction(Action action)
guiDispatcher.AddAction(action)
UI スレッドで実行するためのアクションをキューイングします。
- action
- 実行するアクション。
public IDisposable AddPeriodicalAction(Action action)
result = guiDispatcher.AddPeriodicalAction(action)
各ディスパッチャティックで実行される周期的なアクションを追加します。削除するために使用できるトークンを返します。
- action
- 実行するアクション。
戻り値: アクションを削除するために使用できるトークン。
public void AddSyncAction(Action action)
guiDispatcher.AddSyncAction(action)
UI スレッドで指定されたアクションを同期的に実行します。
- action
- 実行するアクション。
public T AddSyncAction<T>(Func<T> action)
result = guiDispatcher.AddSyncAction(action)
UI スレッドで指定された関数を同期的に実行し、結果を返します。
- action
- 実行する関数。
戻り値: 関数結果。
public bool CheckAccess()
result = guiDispatcher.CheckAccess()
Verify that current thread is dispatcher thread.
戻り値: Operation result.
protected override void DisposeManaged()
guiDispatcher.DisposeManaged()
管理されたリソースを解放します。
public void FlushPendingActions()
guiDispatcher.FlushPendingActions()
キューされたすべてのアクションの即時処理をリクエストします。
public static void InitGlobalDispatcher()
GuiDispatcher.InitGlobalDispatcher()
未作成の場合には、グローバルディスパッチャを初期化します。
public IDisposable InvokePeriodically(Action action, TimeSpan interval)
result = guiDispatcher.InvokePeriodically(action, interval)
Invoke action periodically in dispatcher thread.
- action
- Action.
- interval
- Interval between invocations.
戻り値: IDisposable to unsubscribe.
イベント
public event Action<Exception> Error
guiDispatcher.Error += handler
アクションの実行中にエラーが発生したときにレイズされます。