这是我的场景:
ClassA
{
  Timer tmr = new Timer(1000);
  void Start()
     {
       tmr.start();
     }
  void tmr_Elapsed(object sender, ElapsedEventArgs e)
        {
            //Do Something
            if (myCondition==true)
            {
                //Do Something
                tmr.Stop(); // Or Change Value of a Property! anything that shows it
                            //meets the condition.
            }
        }
}
Class WorkflowController
{
   list<ClassA> allA=new list<ClassA>(){new A1,new A2, new A3}
   void Start()
   {
     foreach(item in allA)
     {
        item.start()
     } 
   }
}
问题:
现在我希望foreach loop执行A1.Start()并等到计时器满足条件(此时x>50和 50 秒后)并停止。然后执行A2.Start()  并等待计时器满足条件并再次停止。然后执行A3.Start()等等。控制我的应用程序的WorkFlowController工作流程。我不知道做这件事的简单方法是什么。我要利用INotifyPropertyChanged吗?我应该使用Eventhandler吗?或者,还有更好的方法?