BeginInvoke Callback

sanekoffice
Дата: 08.04.2014 10:45:10
Здравствуйте!
Суть в том чтобы выполнить асинхронно Waiting и получить результат в Callbaсk-методе.
Может изначально я выбрал не тот подход и в этом случае пользоваться нужно другими инструментами?

   
delegate int WaitingEventHandler(int secondCount);
WaitingEventHandler del;

        public int Waiting(int secondCount) 
        {
            int i = 0;
            while (i<secondCount)
            {
                Thread.Sleep(1000);
                i++;
            }
            Random r = new Random();
            return r.Next(0,100);
        }

        public void AsyncResultCallBack(IAsyncResult ar)
        {
            ar.AsyncState; // Здесь хочу получить результат выполнения Waiting
            deleg.EndInvoke(ar);
        }

        public void Start()
        {          
            del = new WaitingEventHandler(Waiting);
            deleg.BeginInvoke(this, new EventArgs(), AsyncResultCallBack, null);
        }
sanekoffice
Дата: 08.04.2014 10:52:05
sanekoffice
Здравствуйте!
Суть в том чтобы выполнить асинхронно Waiting и получить результат в Callbaсk-методе.
Может изначально я выбрал не тот подход и в этом случае пользоваться нужно другими инструментами?

   
delegate int WaitingEventHandler(int secondCount);
WaitingEventHandler del;

        public int Waiting(int secondCount) 
        {
            int i = 0;
            while (i<secondCount)
            {
                Thread.Sleep(1000);
                i++;
            }
            Random r = new Random();
            return r.Next(0,100);
        }

        public void AsyncResultCallBack(IAsyncResult ar)
        {
            ar.AsyncState; // Здесь хочу получить результат выполнения Waiting
            deleg.EndInvoke(ar);
        }

        public void Start()
        {          
            del = new WaitingEventHandler(Waiting);
            deleg.BeginInvoke(this, new EventArgs(), AsyncResultCallBack, null);
        }

Я вместо del написал deleg. Опечатка. Но проблема та же
Где-то в степи
Дата: 08.04.2014 11:49:28
sanekoffice,
автор
Но проблема та же

что за проблема ? null? так там null...
sanekoffice
Дата: 08.04.2014 16:36:29
Где-то в степи,
Да это понятно что я null передаю.
Просто хотел чтобы в AsyncResultCallBack прилетело значение из Waiting.
А то получается что запускаю метод в потоке - реагирую на завершение колбэком, а что получилось в методе я в колбэке прочитать не могу...