diff --git a/src/Nito.Disposables/IReferenceCountedAsyncDisposable.cs b/src/Nito.Disposables/IReferenceCountedAsyncDisposable.cs index 08b0d5b..734f764 100644 --- a/src/Nito.Disposables/IReferenceCountedAsyncDisposable.cs +++ b/src/Nito.Disposables/IReferenceCountedAsyncDisposable.cs @@ -23,6 +23,21 @@ public interface IReferenceCountedAsyncDisposable : IAsyncDisposable /// Gets the target object. Throws if this instance is disposed. /// T? Target { get; } + + /// + /// Whether this instance is currently disposing or has been disposed. + /// + public bool IsDisposeStarted { get; } + + /// + /// Whether this instance is disposed (finished disposing). + /// + public bool IsDisposed { get; } + + /// + /// Whether this instance is currently disposing, but not finished yet. + /// + public bool IsDisposing { get; } } } #endif \ No newline at end of file diff --git a/src/Nito.Disposables/IReferenceCountedDisposable.cs b/src/Nito.Disposables/IReferenceCountedDisposable.cs index 0700a4f..f39559f 100644 --- a/src/Nito.Disposables/IReferenceCountedDisposable.cs +++ b/src/Nito.Disposables/IReferenceCountedDisposable.cs @@ -22,5 +22,20 @@ public interface IReferenceCountedDisposable : IDisposable /// Gets the target object. Throws if this instance is disposed. /// T? Target { get; } + + /// + /// Whether this instance is currently disposing or has been disposed. + /// + public bool IsDisposeStarted { get; } + + /// + /// Whether this instance is disposed (finished disposing). + /// + public bool IsDisposed { get; } + + /// + /// Whether this instance is currently disposing, but not finished yet. + /// + public bool IsDisposing { get; } } }