private void CallBackFibonacci(IAsyncResult ar) { AsyncFibonacci FibonacciDelegate = (AsyncFibonacci)ar.AsyncState; string str = String.Format("Последовательность фибоначчи равна: {0}", string.Join(",", FibonacciDelegate.EndInvoke(ar))); this.fibonacciResult = str; MethodInvoker mi2 = new MethodInvoker(this.UpdateUI2); this.BeginInvoke(mi2); }
private void button2_Click(object sender, EventArgs e) { int n; try { n = (int)numericUpDown2.Value; } catch (Exception) { MessageBox.Show("Введен неверный тип данных. Введите число!"); numericUpDown2.Value = 0; return; } AsyncFibonacci FibonacciDelegate = new AsyncFibonacci(Fibonacci); AsyncCallback cb2 = new AsyncCallback(CallBackFibonacci); IAsyncResult asyncResult = FibonacciDelegate.BeginInvoke(n, cb2, FibonacciDelegate); }