internal void DestroyWaitHandle() { if (m_event != null) { m_event.Close(); } }
object ISynchronizeInvoke.EndInvoke(IAsyncResult result) { ActiveObjectAsyncResult far = result as ActiveObjectAsyncResult; Contract.ThrowIfNull(far); object r = null; try { r = far.Future.Wait(); } finally { far.DestroyWaitHandle(); } return(r); }