异步委托的执行顺序是怎样的?

jshzp 2011-11-25 01:44:01
下面的代码对事件loginEvent注册了两个方法:IsFileExists和DownloadData,

private event EventHandler loginEvent;
loginEvent += new EventHandler(IsFileExists);
loginEvent += new EventHandler(DownloadData);

这两个方法执行的顺序是怎样的?是否一定会先执行IsFileExists,然后再执行DownloadData呢?
谢谢!
...全文
252 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
imnath 2013-09-22
  • 打赏
  • 举报
回复
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-Advanced.aspx 建议你看看这个文章 讲得很详细
jshzp 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gomoku 的回复:]
事务逻辑不应该这样表达。想想下面的写法是否更符合思考习惯?

void OnLoggedOn(...)
{
if( !IsFileExists() )
{
DownloadData();
}
}
[/Quote]
嗯,语文没学好,其实编程语言就是一种语言
gomoku 2011-11-25
  • 打赏
  • 举报
回复
事务逻辑不应该这样表达。想想下面的写法是否更符合思考习惯?

void OnLoggedOn(...)
{
if( !IsFileExists() )
{
DownloadData();
}
}


jshzp 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 starfd 的回复:]
按顺序执行

IsFileExists --》DownloadData
[/Quote]
调试中发现,好像没有按照固定的顺序。starfd能给出依据,或者官方的说法吗?谢谢指教!
  • 打赏
  • 举报
回复
不过看你这个IsFileExists 貌似有问题啊,链式委托只能是void的
  • 打赏
  • 举报
回复
按顺序执行

IsFileExists --》DownloadData
jshzp 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wushuai1346 的回复:]
多播委托?好像是有先后顺序的,不过不提倡这样子写吧?求真相
[/Quote]
就是多播委托,我想知道它的执行顺序。
不提倡这样写?怎么回事儿,说说吧,谢谢!
wushuai1346 2011-11-25
  • 打赏
  • 举报
回复
多播委托?好像是有先后顺序的,不过不提倡这样子写吧?求真相

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧