static void OnDelayCompleted(object state)
            {
                DelayAsyncResult thisPtr = (DelayAsyncResult)state;

                thisPtr.delayTimer.Cancel();
                thisPtr.Complete(false);
            }
 public void EndDelay(IAsyncResult result)
 {
     DelayAsyncResult.End(result);
 }