c# - How to pass an argument to the EventHandler -


no it's not kind of basic question. doing application , got scenerio like, file downloaded uploaded ftp server, local copy deleted, 1 entry placed in dictionary filename. so, code below

public void download_this_webpage(string url, string cookies_string, string local_saving_file_name_with_path) {     webclient wb = new webclient();     wb.headers.add(httprequestheader.cookie, cookies_string);     // below want pass local_file _path event handler     wb.downloadfilecompleted += new system.componentmodel.asynccompletedeventhandler(wb,);     wb.downloadfileasync(new uri(url), local_saving_file_name_with_path + ".html"); }  public void data_download_completed(object sender, system.componentmodel.asynccompletedeventargs args) {       //use file name upload file ftp  }  public ftp_completed {     // delete file } 

but, dont know how pass filename event handler of download_completed. can guide me in this

edit: thank answers "darin" , "frederic". there general way pass custom data (already defined)event handler below

void main_fn() {     string my_data = "data";     some_object = new some_object();     some_object.click_event += new eventhandler(click_happened);     (assume event passes 2 ints, want pass string "my_data"       "click_happened")     some_object.start(); }  void click_happened(int a, int b) {    // want string "my_data" here.  } 

in short how trick signature?

you can pass file name in usertoken argument downloadfileasync(). when operation finishes, available in userstate property of asynccompletedeventargs argument passed data_download_completed():

string filename = local_saving_file_name_with_path + ".html"; wb.downloadfileasync(new uri(url), filename, filename); 

then:

public void data_download_completed(object sender,     system.componentmodel.asynccompletedeventargs args) {     string filename = (string) args.userstate;     // 'filename'... } 

Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -