public void forTillInvoke(int iterations)
 {
     PrinterEventArgs newArgs = new PrinterEventArgs();
     newArgs.message = String.Format("It took : {0} to complete",iterations);
     newArgs.numberWhenAdded = iterations;
     PrintEventInvoker(newArgs);
 }
 /// <summary>
 /// Invokes the OnPrint Event
 /// </summary>
 protected void PrintEventInvoker(PrinterEventArgs e)
 {
     EventHandler<PrinterEventArgs> saftyNetHandler = OnPrint;
     if (saftyNetHandler != null)
     {
         saftyNetHandler(this, e);
     }
 }
 static void printMessage2(object sender, PrinterEventArgs e)
 {
     Console.WriteLine("Second phase :: {0}.){1}", e.numberWhenAdded, e.message);
 }
 static void printMessage1(object sender, PrinterEventArgs e)
 {
     Console.WriteLine("Coming to you live from the first Message invoker :: {0}.) {1}",e.numberWhenAdded, e.message);
 }