protected void SetAsyncState(AsyncEventArgsCallback callback, object state) { if (callback != null) { this.State = AsyncEventArgs.OperationState.PendingCompletion; this.asyncState = state; this.callback = callback; return; } else { throw Fx.Exception.ArgumentNull("callback"); } }
public virtual void Complete(bool completedSynchronously, Exception exception) { this.exception = exception; if (!completedSynchronously) { this.State = AsyncEventArgs.OperationState.CompletedAsynchronously; this.callback(this); return; } else { this.State = AsyncEventArgs.OperationState.CompletedSynchronously; return; } }