这两种注册事件有什么区别

来源:7-3 事件

lrf2019

2019-03-29 23:48

Dog.NewDog+=c1.WantDog

c1.WantDog+=Dog.NewDog

有什么区别啊?

好懵啊?

求解答。

写回答 关注

1回答

  • 慕虎4119789
    2019-04-01 20:04:01

    按照原本的事件发生方式,先定义委托,然后定义事件,再判断事件是否触发(即是否发生),最后再执行订阅或取消订阅事件。前面声明了两个客户,然后有Dog.NewDog += c1.WantDog,这里的意思应该是先判断NewDog是否为空,即商店有没有新狗狗,然后在再根据客户的消息WantADog订阅事件。而第二个注册事件是先判断有没有WantDog(但是老师写事件触发条件时候并没有写客户有没有WantDog,而是写的NewDog!=null)。因为按照逻辑是先看有没有新狗,再看有没有客户想要。而这样改变的话,就是看先有没有客户要狗狗,再看有没有新狗了。希望你能理解。。。

C#面向对象编程

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

68612 学习 · 153 问题

查看课程

相似问题