Example #1
0
 internal object EventHandler(Delegate target, params object[] args)
 {
     this._eventsStack.Push(InvokeHelper.Create(target, args));
     try {
         this._WaitInternal();
         while (this._eventsStack.Count == this._methodsStack.Count - 1)
         {
             this._methodsStack.Peek().Invoke();
             this._WaitInternal();
         }
         if (this._eventsStack.Peek().Exception != null)
         {
             throw new TargetInvocationException(this._eventsStack.Peek().Exception);
         }
         return(this._eventsStack.Peek().ReturnValue);
     } finally {
         this._eventsStack.Pop();
     }
 }