System.Runtime.AsyncResult
namespace System.Runtime
{
internal abstract class AsyncResult : IAsyncResult
{
protected delegate bool AsyncCompletion (IAsyncResult result);
public object AsyncState { get; }
public WaitHandle AsyncWaitHandle { get; }
public bool CompletedSynchronously { get; }
public bool HasCallback { get; }
public bool IsCompleted { get; }
protected Action<AsyncResult, Exception> OnCompleting { get; set; }
protected Action<AsyncCallback, IAsyncResult> VirtualCallback { get; set; }
protected AsyncResult(AsyncCallback callback, object state);
protected void Complete(bool completedSynchronously);
protected void Complete(bool completedSynchronously, Exception exception);
protected virtual bool OnContinueAsyncCompletion(IAsyncResult result);
protected void SetBeforePrepareAsyncCompletionAction(Action beforePrepareAsyncCompletionAction);
protected void SetCheckSyncValidationFunc(Func<IAsyncResult, bool> checkSyncValidationFunc);
protected AsyncCallback PrepareAsyncCompletion(AsyncCompletion callback);
protected bool CheckSyncContinue(IAsyncResult result);
protected bool SyncContinue(IAsyncResult result);
protected static void ThrowInvalidAsyncResult(IAsyncResult result);
protected static void ThrowInvalidAsyncResult(string debugText);
protected static TAsyncResult End<TAsyncResult>(IAsyncResult result) where TAsyncResult : AsyncResult;
}
}