public delegate void ActionStart(object someAction);
public void ActionCallback(IAsyncResult iar) {}
public void DoAction(object action) {
// do some long action
}
public void DoActionAsync(object action) {
ActionStart myAction = new ActionStart(DoAction);
AsyncCallback myCallback = new AsyncCallback(ActionCallback);
// "call do action"
(CODE HERE)
}
What lines of code, at the location (CODE HERE) above, call DoAction asynchronously and then block until it was finished?
Choice 1
IAsyncResult iar = myAction.BeginInvoke(action, myCallback, null);
myAction.EndInvoke(iar);
Choice 2
myAction.BeginInvoke(action, null, null);
myAction.WaitOne();
Choice 3
myAction.BeginInvoke(action, null, null);
myAction.EndInvoke();
Choice 4
myAction.BeginInvoke();
Choice 5
IAsyncResult iar = myAction.BeginInvoke(action, null, null);
myAction.EndInvoke(iar);
задаю вопрос потому что меня этот вопрос загнал в тупик
по-моему 1 и 5 вариант ничем не отличаются...
точнее отличаются но обы выполнят условия поставленной задачи