public void Add(int x)
 {
     total += x;
     if (total >= threshold)
     {
         ThresholdReachedEventArgs args = new ThresholdReachedEventArgs();
         
         args.Threshold = threshold;
         args.TimeReached = DateTime.Now;
         OnThresholdReached(args);
     }
 }
 //the method that is being subscribed to
 static void c_ThresholdReached(Object sender, ThresholdReachedEventArgs e)
 {
     Console.WriteLine("The threshold of {0} was reached at {1}.", e.Threshold, e.TimeReached);
     Environment.Exit(0);
 }