управлять асинхронной последовательностью в silverlight? - PullRequest
1 голос
/ 28 октября 2010

В моем проекте я хочу сначала удалить несколько строк, а затем вставить новые строки.

Но иногда случается так, что сначала вставляются новые строки, а затем удаляются начальные строки.

Чтобы решить эту проблему, мне нужно правильно управлять операциями.

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 05 ноября 2010

Это распространенный шаблон / проблема с Silverlight, так как практически все «асинхронно» (по уважительным причинам).

В зависимости от того, как запускаются операции добавления и удаления, вы можете ставить задачи в очередь (например,список делегатов) и пусть каждая задача выполнит следующую задачу из списка по завершении.

Альтернатива может показаться немного сложной, но решение, которое мы придумали, заключается в создании класса SequentialAsynchronousTaskManager, который работаетаналогично классу SilverlightTest, который использует методы EnqueueConditional () для добавления условий ожидания и EnqueueCallback () для выполнения кода.

Он в основном содержит список делегатов (которые могут быть простыми лямбда-выражениями) ивыполняет его регулярно, пока он не вернет true (EnqueueConditional) или просто не выполнит некоторый код (EnqueueCallback).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...