当我编写时_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;
}