問題は次のとおりです。オブジェクトがUIスレッドでインスタンス化されていることを確認する必要があります。そうでない場合は、例外がスローされます。しかし、メソッド内でUIスレッドで実行されているかどうかをチェックするにはどうすればよいですか?注:私はオブジェクトのコンストラクタに情報を渡したくありません。メソッドがデコードされた方法でUIスレッドで実行されるかどうかを調べるにはどうすればよいですか?
完璧な候補はDispatcherSynchronizationContext(SynchronizationContextのWPF実装)です。内部的に関連付けられているスレッドを参照するDispatcherへの参照を内部的に保持しますが、残念ながらそのフィールドはプライベートなので、アクセスできません。
はい、これが最善の方法です。本当にありがとう! –