DisposableExtensions
Extension methods associated with the IDisposable interface.
            
                using System.Runtime.CompilerServices;
namespace System.Reactive.Disposables.Fluent
{
    public static class DisposableExtensions
    {
        [System.Runtime.CompilerServices.NullableContext(1)]
        public static T DisposeWith<[System.Runtime.CompilerServices.Nullable(0)] T>(this T item, CompositeDisposable compositeDisposable) where T : IDisposable
        {
            if (compositeDisposable == null)
                throw new ArgumentNullException("compositeDisposable");
            compositeDisposable.Add((IDisposable)(object)item);
            return item;
        }
    }
}