У меня есть метод myobj_EndInteractionEvt, который выполняется, когда происходит событиевызова отделка обратного вызова при завершении другого внутреннего зависимых финишного метода обратного вызова
В главном классе зарегистрироваться как:
//on main class register method passing args like
lo.myobj.EndInteractionEvt += (s, args) => updateInteraction(lo.myobj_EndInteractionEvt(s, args));
//this is called when finish executin "lo.myobj_EndInteractionEvt"
public void updateInteraction(AOItour tour)
{
Console.WriteLine(tour.StateOfAOItour);
ClearMsg();
etc...
}
Внутри myobj класса I звоните myobj_EndInteractionEvt, который возвращает объект AOItour
internal AOItour myobj_EndInteractionEvt(vtkObject losender, vtkObjectEventArgs e)
{
//do stuff and return AOItour
return AOItour;
}
это работает, как это необходимо (в основном потому, что я работаю на ВТК и это нужно использовать много обратных вызовов), вопрос приходит как myobj имеет другой обратный вызов angleEndInteractionEvt, который обновляет AOItour внутренне
public void angleEndInteractionEvt(vtkObject sender, vtkObjectEventArgs e) {
//AOItour has been modified, so i would like to call own "myobj_EndInteractionEvt"
// so I can pass
// modified AOItour to it and then myobj_EndInteractionEvt would return AOI to
// updateInteraction
}
Как позвонить callback myobj_EndInteractionEvt в конце angleEndInteractionEvt?
Я попытался
public void angleEndInteractionEvt(vtkObject sender, vtkObjectEventArgs e) {
//some stuff
myobj_EndInteractionEvt(sender,e);
}
И это правильно идет к myobj_EndInteractionEvt но вопрос после этого исполнения, программа возвращается к angleEndInteractionEvt и не идет updateInteraction Как сделать это?
это правильно, но как бы вы вернуть AOItour как в 'myobj_EndInteractionEvt'? – cMinor
Выбрасывание события приведет к тому, что main запустит обработчик событий 'updateInteraction'. – klugerama