【发布时间】:2012-11-07 11:11:46
【问题描述】:
这可能是一个(另一个)菜鸟问题,但我不知道该怎么做。
我的私有方法中有一段代码引用静态方法。
using (WebClient wc = new WebClient())
{
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(requestUri));
}
它所指的静态方法:
static void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
var xmlElm = XElement.Parse(e.Result);
var status = (from elm in xmlElm.Descendants()
where elm.Name == "status"
select elm).FirstOrDefault();
if (status.Value.ToLower() == "ok")
{
var res = (from elm in xmlElm.Descendants()
where elm.Name == "formatted_address"
select elm).FirstOrDefault();
formatted = res.Value;
}
}
现在我需要静态方法的内容来替换WebClient的内容。 喜欢:
using (WebClient wc = new WebClient())
{
var xmlElm = XElement.Parse(e.Result);
var status = (from elm in xmlElm.Descendants()
where elm.Name == "status"
select elm).FirstOrDefault();
if (status.Value.ToLower() == "ok")
{
var res = (from elm in xmlElm.Descendants()
where elm.Name == "formatted_address"
select elm).FirstOrDefault();
formatted = res.Value;
}
}
由于我不确定“e”的来源,我不知道如何让它工作。
【问题讨论】:
-
你想用“格式化”替换“e.Result”吗?
-
不,“格式化”是最终结果。 “e.Result”是获得最终结果所必需的信息。
标签: c# .net static webclient void