下面的代码对事件loginEvent注册了两个方法:IsFileExists和DownloadData, private event EventHandler loginEvent;
 loginEvent += new EventHandler(IsFileExists);
 loginEvent += new EventHandler(DownloadData);这两个方法执行的顺序是怎样的?是否一定会先执行IsFileExists,然后再执行DownloadData呢?
谢谢!

解决方案 »

  1.   

    按顺序执行IsFileExists --》DownloadData
      

  2.   

    不过看你这个IsFileExists 貌似有问题啊,链式委托只能是void的
      

  3.   

    调试中发现,好像没有按照固定的顺序。starfd能给出依据,或者官方的说法吗?谢谢指教!
      

  4.   

    事务逻辑不应该这样表达。想想下面的写法是否更符合思考习惯?void OnLoggedOn(...)
    {
       if( !IsFileExists() )
       {
          DownloadData();
       }
    }
      

  5.   

    http://msdn.microsoft.com/zh-cn/library/system.multicastdelegate.getinvocationlist(v=VS.90).aspx
      

  6.   

    http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-Advanced.aspx
    建议你看看这个文章 讲得很详细