我有一个foreach循环,如下所示:
foreach (var rec in lstPRSCRPT)
{
var OrderItemQuery = GV.dbContext.Load(GV.dbContext.GetOrdritemsQuery (rec.PresNo));
OrderItemQuery.Completed += new EventHandler(OrderItemQuery_Completed);
}
在OrderItemQuery_Completed事件中,对于每次回调,我都有一些计算来查找是否达到了certian条件。如果是这样,我不想再获得任何进一步的OrderItemQuery_Completed回调。有没有办法可以做到这一点?有没有办法阻止OrderItemQuery_Completed被触发。
我取消了这个事件,我得到了一个如图所示的错误:
答案 0 :(得分:2)
您可以在处理程序中取消订阅此事件,如下所示:
private void OrderItemQuery_Completed(object sender, ...)
{
var query = (OrderItemsQuery)sender;
query.Completed -= OrderItemQuery_Completed;
....
}