2015-02-28 4 views
0

Мне нужен класс, который использует WebBrowser для извлечения некоторых данных, а затем возвращает эти данные в другой класс. Проблема в том, что WebBrowser является асинхронным и использует события, поэтому метод, возвращающий данные, закончился до WebBrowser.DocumentCompleted -event, и данные не возвращаются. Я должен использовать WebBrowser вместо WebClient, потому что мне нужно взаимодействовать с веб-страницей.Как вернуть значение из класса с событиями

Как создать класс, который возвращает данные после того, как все события будут запущены, и, например, установлен некоторый флаг boolean?

ответ

1

В идеале вы должны открыть другое событие в своем классе, которое будет запущено с помощью DocumentCompletedEvent веб-браузера. Это предоставит потребителям вашего класса возможность подписаться и на это событие. В противном случае вам придется заблокировать поток вызывающего абонента, ожидающий завершения веб-браузера, что не очень хорошо.

+0

Спасибо, это сработало отлично :) – darx

Смежные вопросы