Передача аргумента обработчику события - C#
Формулировка задачи:
Нашел подходящий для меня код, но в строке 14 выдает:
"System.Net.DownloadDataCompletedEventArgs" не содержит определение для "UserToken".
Подскажите, пожалуйста, что я делаю не так?
Листинг программы
- public void downloadphoto(string struri,string strtitle,string placeid)
- {
- using (WebClient wc = new WebClient())
- {
- string[] data = new string[2] { strtitle, placeid };
- wc.DownloadDataCompleted += wc_DownloadDataCompleted;
- wc.DownloadDataAsync(new Uri(struri), data);
- }
- }
- void wc_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
- {
- string[] data = (string[])e.UserToken;
- string strtitle = data[0];
- string placeid = data[1];
- }
В принципе уже сделал через лямбда-выражение, но все равно интересен и вариант выше.
Листинг программы
- using (wc = new WebClient())
- {
- wc.DownloadFileCompleted += (sender, args) =>
- Completed(location, args);
- wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
- // ....
- wc.DownloadFileAsync(URL, location, location);
- }
- private void Completed(string location, AsyncCompletedEventArgs e)
- {
- }
Решение задачи: «Передача аргумента обработчику события»
textual
Листинг программы
- void wc_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
- {
- MessageBox.Show(sender.GetType().ToString());
- string[] data = (string[])e.UserState;
- string strtitle = data[0];
- string placeid = data[1];
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д