mirror of
https://github.com/evopro-ag/Sharp7Reactive.git
synced 2025-12-16 03:42:51 +00:00
35 lines
663 B
C#
35 lines
663 B
C#
namespace Sharp7.Rx.Basics;
|
|
|
|
internal class DisposableItem<TValue> : IDisposable
|
|
{
|
|
private readonly Action disposeAction;
|
|
|
|
bool disposed;
|
|
|
|
public DisposableItem(IObservable<TValue> observable, Action disposeAction)
|
|
{
|
|
this.disposeAction = disposeAction;
|
|
Observable = observable;
|
|
}
|
|
|
|
public IObservable<TValue> Observable { get; }
|
|
|
|
public void Dispose()
|
|
{
|
|
Dispose(true);
|
|
GC.SuppressFinalize(this);
|
|
}
|
|
|
|
protected virtual void Dispose(bool disposing)
|
|
{
|
|
if (disposed) return;
|
|
|
|
if (disposing)
|
|
{
|
|
disposeAction();
|
|
}
|
|
|
|
disposed = true;
|
|
}
|
|
}
|