セカンダリ スレッドで操作の連続ループを実行する Visual C# プログラムを作成しています。そのスレッドがタスクを終了したときに、イベントハンドラーをトリガーしたい場合があります。私のプログラムはそれを行いますが、イベントハンドラーがトリガーされると、セカンダリスレッドはイベントハンドラーが終了するまで待機してからスレッドを続行します。継続させるにはどうすればいいですか?これが私が現在それを構成している方法です...
class TestClass
{
private Thread SecondaryThread;
public event EventHandler OperationFinished;
public void StartMethod()
{
...
SecondaryThread.Start(); //start the secondary thread
}
private void SecondaryThreadMethod()
{
...
OperationFinished(null, new EventArgs());
... //This is where the program waits for whatever operations take
//place when OperationFinished is triggered.
}
}
このコードは、私のデバイスの 1 つの API の一部です。OperationFinished イベントがトリガーされたときに、クライアント アプリケーションが API 操作を実行することなく、必要なことを実行できるようにしたい (つまり、それに応じて GUI を更新する)。
また、イベント ハンドラーにパラメーターを渡したくない場合は、OperationFinished(null, new EventArgs())
?を使用して正しい構文を使用できます。