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

System.Reactive.Disposables.MultipleAssignmentDisposableValue

Represents a disposable resource whose underlying disposable resource can be swapped for another disposable resource.
namespace System.Reactive.Disposables { internal struct MultipleAssignmentDisposableValue : ICancelable, IDisposable { public bool IsDisposed { get; } public IDisposable Disposable { get; set; } public bool TrySetFirst(IDisposable disposable); public void Dispose(); } }