繁体   English   中英

向C#4中的ProgressChanged事件添加额外的参数

[英]add extra parameter to ProgressChanged event in C#4

这是我的代码(简单下载器):

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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM