1

大きな CSV ファイル用のパーサー クラスがあります。大きなファイルを 1 行ずつ読み取る parse メソッドの作業は、backgroundWorker で行われます。完了率の情報は、メソッドを使用して UI スレッドに渡されるbackgroundWorker.ReportProgressため、フォームの進行状況バーがその役割を果たします。それはうまくいっています。

ただし、ドロップダウン リストに配置できるように、CSV ファイルの最初の行から取得したフィールド名のリストを UI (WPF) に送り返すカスタム イベントも発生させたいと思います。また、パーサーが不正な行やその他の障害に遭遇した場合は、イベントを介してユーザーに通知したいと思います。

バックグラウンドで実行されているパーサー プロセスは、単純にイベントを発生させることができますか? または、SynchronizationContext.Current をメイン UI スレッドからパーサー クラスに渡して、Post メソッドを使用する必要がありますか?

4

1 に答える 1