我需要返回一个字符串,我从一个异步事件处理程序得到。我目前无法做到这一点,因为如果我尝试返回处理程序内部,它给了我一个错误,告诉我我不能返回任何对象,因为处理程序应该返回void。返回一个字符串中的异步事件处理程序
这里是我的代码:
public String Login(String username, String password)
{
String returningData = "";
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("user", username);
parameters.Add("pass", password);
PostClient client = new PostClient(parameters);
client.DownloadStringCompleted += (senders, ex) =>
{
if (ex.Error == null)
{
//Process the result...
return ex.Result;
}
else
{
return "An error occurred. The details of the error: " + ex.Error;
}
};
client.DownloadStringAsync(new Uri("http://www.site.com/sample.php", UriKind.Absolute));
}
我怎样才能正确地返回ex.Result /错误信息?
嗯......好主意!我不知道为什么我以前无法想到这一点。 – kdh
你需要两个事件,一个是错误的情况下,一个用于成功的情况下,或有足够的信息,通过它的参数 – Servy