c# - String is empty in BackgroundWorker? -


private void btntest_click(object sender, routedeventargs e) {     var bgw = new backgroundworker();     string reponse = string.empty;     bgw.dowork += async (s,v) =>     {         reponse = await senddata();      };     bgw.runworkercompleted += (s,v) =>     {         messagebox.show(reponse);     };     bgw.runworkerasync(); } 

i don't know why message show response empty? await senddata() mehthod returning string not empty?

try this.

string reponse =string.empty;  private void btntest_click(object sender, routedeventargs e)     {        var bgw = new backgroundworker();       bgw.dowork += bw_dowork;       bgw.runworkercompleted += backgroundworker_runworkercompleted;       bgw.runworkerasync();     }  void async bw_dowork(object sender, doworkeventargs e)         {             try             {               reponse = await senddata();             }             catch (exception ex)             {              }         }   void backgroundworker_runworkercompleted(object sender, runworkercompletedeventargs e)         {            messagebox.show(reponse);         } 

Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -