有一个问题已经回答了,那就是在C#中,观察者模式不是已经使用事件实现了吗? https://stackoverflow.com/questions/32034/in-c-isnt-the-observer-pattern-already-implemented-using-events
它询问观察者模式是否已在 C# 中使用事件实现。
当我获得事件和观察者模式时,观察者模式是否真的只是委托,而事件是进一步的实现?
你是对的。事件只是一个具有一些略有不同功能的委托。所有观察者模式都可以通过委托来实现,而无需触及event
关键词。
那么您可能会对“event”关键字实际带来什么感兴趣。
- 事件可以是接口的一部分,而
常规代表字段不能
- 事件不能被外部类调用,
但普通代表可以
- 事件具有其他访问器(添加和删除),您可以覆盖它们并为其提供自定义功能
Edit: 这是一篇很棒的文章 http://blog.monstuff.com/archives/000040.html事件和委托之间的 IL 代码比较。 (提示:几乎是一样的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)