<PackageReference Include="System.Reactive" Version="6.0.0-preview.9" />

MultipleAssignmentDisposable

Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource.
using System.Runtime.CompilerServices; namespace System.Reactive.Disposables { public sealed class MultipleAssignmentDisposable : ICancelable, IDisposable { private MultipleAssignmentDisposableValue _current; public bool IsDisposed => _current.IsDisposed; [System.Runtime.CompilerServices.Nullable(2)] public IDisposable Disposable { [System.Runtime.CompilerServices.NullableContext(2)] get { return _current.Disposable; } [System.Runtime.CompilerServices.NullableContext(2)] set { _current.Disposable = value; } } public void Dispose() { _current.Dispose(); } } }