using System.Threading.Tasks; namespace ComposableAsync { /// /// Asynchronous version of IDisposable /// For reference see discussion: https://github.com/dotnet/roslyn/issues/114 /// public interface IAsyncDisposable { /// /// Performs asynchronously application-defined tasks associated with freeing, /// releasing, or resetting unmanaged resources. /// Task DisposeAsync(); } }