//| <include path='docs/doc[@for="ManualResetEvent.Set"]/*' />
        public bool Set()
        {
            bool b = ManualResetEventHandle.Set(handle);

            GC.KeepAlive(this);
            return(b);
        }
 //| <include path='docs/doc[@for="ManualResetEventHandle.Dispose"]/*' />
 protected override void Dispose(bool explicitDisposing)
 {
     if (handle.id != 0)
     {
         ManualResetEventHandle.Dispose(handle);
         handle = new ManualResetEventHandle();
     }
 }
        //| <include path='docs/doc[@for="ManualResetEvent.ManualResetEvent2"]/*' />
        public ManualResetEvent(bool initialState)
        {
            ManualResetEventHandle handleOnStack;

            if (!ManualResetEventHandle.Create(initialState, out handleOnStack))
            {
                throw new HandleCreateException();
            }
            handle = handleOnStack;
        }
 //| <include path='docs/doc[@for="ManualResetEvent.Reset"]/*' />
 public void Reset()
 {
     ManualResetEventHandle.Reset(handle);
     GC.KeepAlive(this);
 }