0

私のコードには同じ大きなコードが 2 つあるので、メソッドを作成してそこに配置します。コードでメソッドを 2 回呼び出します。1 回目は通常どおり、2 回目はdoWorkイベント (バックグラウンド ワーカー)から呼び出します。問題は、(doWork で) 実行すると、プログラムが応答しなくなることです...私の質問は、doWorkイベントからメソッドを呼び出すにはどうすればよいですか?

編集:いくつかのコード

private void parseHtmlFile(string file)
{
// here i parse an html file and fill some arraylists.
}

// this is the event where i call method on click
private void MenuItem_NewPr(object sender, RoutedEventArgs e)
{
parseHtmlFile(file);// in this case program works well.
}

// do work 
worker.DoWork += (s, e) =>
{
var file = e.Argument as string;
parseHtmlFile(file);// in this case program stop responding.
}

編集 2: メソッドの一部を変更したところ、クラッシュしなくなりましたが、別の問題が発生しています。dowork メソッドは、メソッド呼び出しステートメントの下にあるコードを実行しません。私はそこにブレークポイントを置きましたが、そこには行きません...

4

0 に答える 0