有沒有方法A完成之前調用methodB,以便methodB被執行?香港專業教育學院試圖實現它的多種方式,其中沒有工作:(是否可以編輯以下代碼,以便執行第二種方法?
能有人解釋?謝謝。
public List<ObjectA> _OurObjectA= new List<ObjectA>();
public List<ObjectA> methodA()
{
List<ObjectA> products = new List<ObjectA>();
ServiceReference1.ServiceClient client =
new ServiceReference1.ServiceClient();
client.getProductCompleted +=
new EventHandler<ServiceReference1.getProductCompletedEventArgs>(methodB);
client.getProductAsync();
return _OurObjectA;
}
void methodB(object sender, ServiceReference1.getProductCompletedEventArgs e)
{
ObservableCollection<ServiceReference1.ObjectA> products = e.Result;
foreach (ServiceReference1.ObjectA obj in products)
{
ObjectA temp = new ObjectA(obj);
_OurObjectA.Add(temp);
}
}
感謝您編輯我的代碼:)所以我想如果methodA被調用,那麼它會自動調用methodB?但不知何故,它不被稱爲。無論如何將這兩種方法結合(1種方法)?謝謝:) – RKM 2011-04-06 13:56:02
只有在事件引發時纔會調用methodB。正如Giovanni解釋的那樣,在webservice完成其工作之後,會發生這種情況。這可能會在methodA完成執行後很長時間發生。 – 2011-04-06 13:57:42
哦......謝謝。無論如何解決這個問題?因爲我想在方法A完成時返回ObjectA的列表:) – RKM 2011-04-06 14:06:14