【发布时间】:2018-12-29 17:49:52
【问题描述】:
我希望能够将Queue 用作Observable,但我不知道如何创建它。我希望它能够在有人调用Enqueue 时推送数据。
class Producer:IObservable<int>
{
private object @lock = new object();
private Queue<int> queue = new Queue<int>();
List<IObserver<int>> observers = new List<IObserver<int>>();
public Producer()
{
}
public IObservable<int> ToObservable()
{
return ///
}
public bool Enqueue(int sample)
{
if (sample == null)
{
return false;
}
this.queue.Enqueue(sample);
return true;
}
public int Dequeue()
{
if(!this.queue.TryDequeue(out Sample rez))
{
return 0;
}
return rez;
}
public IDisposable Subscribe(IObserver<int> observer)
{
}
}
我可以处理带有Subscriber 和IObserver 的部分我只是不知道如何将我的Producer 对象包装在IObservable 中
【问题讨论】:
-
对不起,我忘了更改。我想知道如何将类包装在 observable 中?
-
为什么不直接使用
Subject<int>? -
这个我不熟悉,是一样的吗?
-
查看introtorx.com 了解
IObservable<T>和反应式扩展的一般介绍。该页面已过时,但概念仍然适用。 -
我看到它已经被回答了。不确定 Queue
是否仍然有用。
标签: c# .net-core observable system.reactive