Вот мой код (Simple Downloader):добавить дополнительный параметр для ProgressChanged события в 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);
}
}
}
& Вот мой вопрос:
Как добавить дополнительный параметр (int RowNumber
) на мой ProgressChanged
мероприятие? Я имею в виду, как это:
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e, int RowNumber)
{
// Other codes here
}
& Здесь ошибка, что VS2010 дает мне:
Нет перегрузки для спичек 'ProgressChanged' делегировать 'System.Net.DownloadProgressChangedEventHandler'
я должен переопределить DownloadProgressChangedEventHandler
?! как?!
Спасибо, что помогли мне.
это не представляется возможным. Захватите его с помощью лямбда-выражения. –
это хорошая идея. Я дам ему попробовать –
Я пробовал, и я думаю, это не ответили! (ProgressChanged) выполняется несколько раз, я хочу отправить номер в него, поэтому остается неизменным после того, как я отправил другой номер. но таким образом он меняется. –