Я хочу иметь возможность использовать 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