我需要返回一個字符串,我從一個異步事件處理程序得到。我目前無法做到這一點,因爲如果我嘗試返回處理程序內部,它給了我一個錯誤,告訴我我不能返回任何對象,因爲處理程序應該返回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