AsyncResult
Base class to encapsulates the results of an asynchronous operation.
            
                
Gets a user-defined object that qualifies or contains information about an asynchronous operation.
            
Gets a  WaitHandle that is used to wait for an asynchronous operation to complete.
            
Gets a value that indicates whether the asynchronous operation completed synchronously.
            
Gets or sets a value indicating whether  EndInvoke has been called on the current
             AsyncResult.
            
Gets a value that indicates whether the asynchronous operation has completed.
            
Initializes a new instance of the  AsyncResult class.
            
Marks asynchronous operation as completed.