Вы разрабатываете приложение, использующее асинхронную модель работы. Для запуска произвольного метода SomeMethod вы создали делегат SomeDelegate private delegate string SomeDelegate(/*Некоторые параметры*/);private string SomeMethod(/*Некоторые параметры*/) { //Код для работы метода }
Выберите способ завершения работы Pooling метода SomeMethod:
(Отметьте один правильный вариант ответа.)
Варианты ответа
private void MethodPooling_Event (object sender, System.EventArgs e){ SomeDelegate sd = new SomeDelegate(); sd.Method.SomeMethod(); IAsyncResult ar = sd.BeginInvoke(/*Тип завершения*/, null, null); { //Код для работы. } // Получаем результаты асинхронного метода. /*Результат работы метода*/ = sd.EndInvoke(SomeMethod);}
private void MethodPooling_Event (object sender, System.EventArgs e){ SomeDelegate sd = new SomeDelegate (SomeMethod); IAsyncResult ar = sd.BeginInvoke(/*Тип завершения*/, null, null); while(!ar.IsCompleted) { //Код для работы. } // Получаем результаты асинхронного метода. /*Результат работы метода*/ = sd.EndInvoke(SomeMethod);}(Верный ответ)
private void MethodPooling_Event (object sender, System.EventArgs e){ SomeDelegate sd = new SomeDelegate(); sd.Method.SomeMethod(); IAsyncResult ar = sd.BeginInvoke(/*Тип завершения*/, null, null); { //Код для работы. } // Получаем результаты асинхронного метода. /*Результат работы метода*/ = ar.EndInvoke(SomeMethod);}
private void MethodPooling_Event (object sender, System.EventArgs e){ SomeDelegate sd = new SomeDelegate(); sd.SomeMethod(); IAsyncResult ar = sd.BeginInvoke(/*Тип завершения*/, null, null); while(!ar.IsCompleted) { //Код для работы. } // Получаем результаты асинхронного метода. /*Результат работы метода*/ = ar.EndInvoke(SomeMethod);}
private void MethodPooling_Event (object sender, System.EventArgs e){ SomeDelegate sd = new SomeDelegate(); sd.SomeMethod(); IAsyncResult ar = sd.BeginInvoke(/*Тип завершения*/, null, null); while(!ar.IsCompleted) {//Код для работы. } // Получаем результаты асинхронного метода. /*Результат работы метода*/ = sd.EndInvoke(SomeMethod);}