在我的上一次面试中,有人问我如何实现一个类,该类公开事件并在订阅该事件的新订阅者订阅该事件时立即通知他们。换句话说,一个类公开事件以通知订阅者数据源已更新;许多其他类可以随时订阅该事件。当一个类订阅事件时,它必须被通知以获取存储在数据源中的最新数据版本,但其他类不必被通知(它们已经是最新的)。
他们建议我重写addHandler方法,但我如何只通知新的订阅者呢?
.NET中是否有我不知道的功能,还是我需要在订阅处理程序时为订阅者类定义一个要调用的方法(一些观察者模式)?
编辑:我认为我没有表达清楚,所以我将尝试另一种方式来解释它。假设我有一个观察者模式。当一个新观察者订阅主题时,它会立即通过主题得到最新的数据源值更新。稍后,当数据源内部发生变化时,主题将像往常一样通知所有注册的观察者。我被问及如何使用.NET事件进行此操作。
他们建议我重写addHandler方法,但我如何只通知新的订阅者呢?
.NET中是否有我不知道的功能,还是我需要在订阅处理程序时为订阅者类定义一个要调用的方法(一些观察者模式)?
编辑:我认为我没有表达清楚,所以我将尝试另一种方式来解释它。假设我有一个观察者模式。当一个新观察者订阅主题时,它会立即通过主题得到最新的数据源值更新。稍后,当数据源内部发生变化时,主题将像往常一样通知所有注册的观察者。我被问及如何使用.NET事件进行此操作。