0

C#シリアルDataReceivedイベントからのデータでプロパティを更新する必要があるクラスがあります。

UIを更新しようとはしていませんが、DataReceivedイベント(別のスレッドで実行される)の結果を使用することについて私が見つけた唯一の参照は、.Invokeを使用してデータをUIコントロールに取得することを示しています。私のクラスはUIに関連付けられていないため、.Invokeは使用できません。

ハンドラーがクラスのプロパティを変更しようとすると、「別のスレッドが所有しているため、呼び出し元のスレッドはこのオブジェクトにアクセスできません」という恐ろしいエラーが発生します。

結果を親スレッドに取り込むためのプロセスは何ですか?

4

1 に答える 1

1

DAL までの UI リファレンスを提供したくない場合は、SynchronizationContextを使用してこのアプローチを取ることができます。

于 2012-04-17T19:46:27.967 に答える