在 C# 中,类和接口可以有event
:
public class Foo
{
public event Action SomethingHappened;
public void DoSomething()
{
// yes, i'm aware of the potential NRE
this.SomethingHappened();
}
}
这有助于使用最少的样板代码实现基于推送的通知,并启用多订阅者模型,以便许多观察者可以监听事件:
var foo = new Foo();
foo.SomethingHappened += () => Console.WriteLine("Yay!");
foo.DoSomething(); // "Yay!" appears on console.
Scala中是否有等效的成语?我正在寻找的是:
- 最小样板代码
- 单个发布者,多个订阅者
- 附加/分离订阅者
在 Scala 文档中使用它的例子会很棒。我不是在 Scala 中寻找 C# 事件的实现。相反,我正在寻找 Scala 中的等效习语。