Передача аргумента обработчику события - 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]; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д