C#C
C#3y ago
SWEETPONY

✅ is it a good disposable class?

public class AsyncDisposable                                      
    : Disposable,                                                 
    IAsyncDisposable                                              
{                                                                 
    public bool IsDisposedAsync { get; private set; }             
                                                                  
    public async ValueTask DisposeAsync()                         
    {                                                             
        if ( IsDisposedAsync || IsDisposed )                      
            return;                                               
                                                                  
        _disposingСancellationTokenSource.Cancel();               
                                                                  
        await OnDisposeAsync.InvokeAsync();                       
                                                                  
        await DisposeAsyncCore()                                   
            .ConfigureAwait( continueOnCapturedContext: false );   
                                                                  
        IsDisposedAsync = true;                                   
                                                                  
        Dispose();                                                
        GC.SuppressFinalize( this );                              
    }                                                             
                                                                  
    protected virtual ValueTask DisposeAsyncCore() =>             
        default;                                                  
                                                                  
    public Func<ValueTask> OnDisposeAsync { get; set; }           
}                     


what can I change?
Was this page helpful?