How to get return value when BeginInvoke/Invoke is called in C#

前端 未结 6 1871
悲哀的现实
悲哀的现实 2020-12-04 17:57

I\'ve this little method which is supposed to be thread safe. Everything works till i want it to have return value instead of void. How do i get the return value when BeginI

6条回答
  •  日久生厌
    2020-12-04 18:30

    delegate string StringInvoker();
        string GetControlText()
        {
            if (control.InvokeRequired)
            {
                string controltext = (string)control.Invoke(new StringInvoker(GetControlText));
                return(controltext);
            }
            else
            {
                return(control.Text);
            }
        }
    

    //simple & elegant but it is needed to wait for another thread to execute delegate; however if you cannot proceed without the results...

提交回复
热议问题