AnonymousDisposable
Represents an Action-based disposable.
            
                
Gets a value that indicates whether the object is disposed.
            
Constructs a new disposable with the given action used for disposal.
            
Calls the disposal action if and only if the current instance hasn't been disposed yet.