Sync -> Async
От: Holms США  
Дата: 22.10.08 02:17
Оценка:
День добрый

подскажите пожалуйста алгоритм для такой задачи

есть список некоторых обьектов
List<SomeObjects> objects;

для каждого обьекта вызывается синхроная (модальная) функция, после которой обьект либо добавляется в другой список или просто переходим к другому обьекту.
т.е. код примерно выглядит так

//..some code before loop

for (int i = 0; i < objects.Count; i++)
{
  if (SomeModalFunction(objects[i]))
    anotherList.Add(objects[i]); //здесь мы что-то спрашиваем у пользователя при помощи модального диалога,  после этого переходим к другому элементу
}

//..some code after loop. MUST be executed only after user answer to questions in loop.


Всё это нормально работало, до того как приказали (разработчики MS Silverlight-a которые не добавили модальные диалоги) сделать SomeModalFunction асинхроной, которая не блокирует поток.
из-за этого пользователь может получить сразу 10 псевдо-диалогов и при-этом еще и код после цикла заработает, но не должен.

Как решить проблему? Что-бы пользователь получал по одному диалогу и что-бы код после цикла отработал только после того как пользователь ответит на вопросы из диалога?
Понимаю что надо избавится от цикла, а что дальше хз

Спасибо
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>

22.10.08 15:56: Перенесено модератором из 'Алгоритмы' — Кодт
The life is relative and reversible.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.