在C#4中为ProgressChanged事件添加额外参数

这是我的代码(Simple Downloader):

public void DownloadFile(string urlAddress, string location) { using (webClient = new WebClient()) { webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); Uri URL = urlAddress.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ? new Uri(urlAddress) : new Uri("http://" + urlAddress); try { webClient.DownloadFileAsync(URL, location); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } 

这是我的问题:

如何在ProgressChanged事件中添加额外的参数( int RowNumber )? 我的意思是这样的:

 private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e, int RowNumber) { // Other codes here } 

这是VS2010给我的错误:

‘ProgressChanged’没有重载匹配委托’System.Net.DownloadProgressChangedEventHandler’

我应该覆盖DownloadProgressChangedEventHandler吗? 怎么样?!

谢谢你的协助。

你应该改变这个:

 webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); 

有:

 webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler((sender, e) => ProgressChanged(sender, e, RowNumber));