を記述する_exporter.csvRowProcessed +=
と、Visual Studio 2010 は、上記のイベントを処理するメソッドを作成するように提案し、次にこれを実行します。
_exporter.csvRowProcessed += new CsvRowProcessedHandler(RowProcessedHandler);
私が知りたかったのは、このようにハンドラー メソッドをイベントに直接割り当てるのではなく、新しいデリゲートを作成してからハンドラー メソッドを割り当てるのはなぜですか?
exporter.csvRowProcessed += RowProcessedHandler;
念のため、コード全体を次に示します。
private void bg_DoWork(object sender, DoWorkEventArgs e)
{
object[][] data = _grid.AsMatrix();
_exporter.csvRowProcessed += new CsvRowProcessedHandler(RowProcessedHandler);
string csv = _exporter.CreateCSVString(data);
StreamWriter writer = new StreamWriter(_path, false);
writer.Write(csv);
writer.Close();
}
void RowProcessedHandler(object o, int currentRow)
{
radProgressBarElement.Text = "Procesando linea " + currentRow;
radProgressBarElement.Value1 = currentRow;
}