DownloadStringCompletedEventHandler的返回类型?

时间:2009-09-22 19:50:01

标签: c#

作为C#newbie,我无疑是,我有点困惑,你在使用WebClient和DownloadStringAsync方法时无法在DownloadStringCompletedEventHandler上设置返回类型。假设我想编写一些通用方法来返回任何网页的HTML内容,如果无法设置返回类型,我将如何返回字符串。我觉得我在这里遗漏了一些明显的东西,任何帮助都会受到赞赏!

谢谢!

3 个答案:

答案 0 :(得分:2)

这个想法是,当数据准备就绪时,你会被WebClient 回调 - 当你订阅这个事件时,你基本上会说“当你这么做时打电话给你”完了“。当您从回调中返回时,您没有返回 代码,而是返回WebClient。为什么它会想知道字符串,当它刚给你时? :)

不,这个想法是你的回调做了它需要的数据(在事件参数的Result属性中)。这可能意味着将其存放在某个地方,或将其写入文件系统 - 无论您需要做什么。

别担心 - 异步思考很棘手。你会到达那里:)

答案 1 :(得分:0)

您没有设置返回类型,因为它使用标准偶数处理程序模式进行回调(即Object发件人和EventArgs参数)

页面内容将封装在传递给回调方法的DownloadStringCompletedEventArgs中(更具体地说,DownloadStringCompletedEventArgs.Result包含下载的数据)。

答案 2 :(得分:0)

DownloadStringCompletedEventHandler是一个事件处理程序。换句话说,它是一个类在完成从源下载字符串时调用的方法。事件的结果包含在参数中。因此,您附加到事件,然后在您的方法中,您可以使用您想要的参数。

希望这会有所帮助。