有没有方法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