我正在努力寻找一个非常基本的观察者的标准实现,这个观察者后期绑定并托管其中的其他观察者。
public class CompoundObserver<T> : IObserver<T>
{
public readonly List<IObserver<T>> observers;
public CompoundObserver()
{
this.observers = new List<IObserver<T>>();
}
public void Register(IObserver<T> observer)
{
this.observers.Add(observer);
}
public void OnCompleted()
{
this.observers.ForEach(observer =>
{
observer.OnCompleted();
});
}
public void OnError(Exception error)
{
this.observers.ForEach(observer =>
{
observer.OnError(error);
});
}
public void OnNext(T value)
{
this.observers.ForEach(observer =>
{
observer.OnNext(value);
});
}
}
RX .NET中这样的标准机制是什么?