如何使用事件 return 来自 class 的值
How to return a value from class with events
我需要一个 class,它使用 WebBrowser
检索一些数据,然后 returns 该数据到另一个 class。问题是 WebBrowser
是异步的并且使用事件,所以 returns 数据在 WebBrowser.DocumentCompleted
事件被触发之前已经结束的方法,并且没有返回数据。我必须使用 WebBrowser
而不是 WebClient
,因为我需要与网页进行交互。
我如何创建一个 class 在触发所有事件后 returns 数据,例如设置了一些布尔标志?
理想情况下,您应该在 class 中公开另一个事件,该事件将由 WebBrowsers 的 DocumentCompletedEvent
触发。这将为您 class 的消费者提供订阅此事件的可能性。否则,您将不得不阻塞调用者的线程以等待网络浏览器完成,这不是一件好事。
我需要一个 class,它使用 WebBrowser
检索一些数据,然后 returns 该数据到另一个 class。问题是 WebBrowser
是异步的并且使用事件,所以 returns 数据在 WebBrowser.DocumentCompleted
事件被触发之前已经结束的方法,并且没有返回数据。我必须使用 WebBrowser
而不是 WebClient
,因为我需要与网页进行交互。
我如何创建一个 class 在触发所有事件后 returns 数据,例如设置了一些布尔标志?
理想情况下,您应该在 class 中公开另一个事件,该事件将由 WebBrowsers 的 DocumentCompletedEvent
触发。这将为您 class 的消费者提供订阅此事件的可能性。否则,您将不得不阻塞调用者的线程以等待网络浏览器完成,这不是一件好事。