コード例 #1
0
            public void Add(int value)
            {
                Total += value;

                if (Total < Threshold)
                {
                    return;
                }
                ThresholdEventArgs t =
                    new ThresholdEventArgs()
                {
                    Value = Threshold, TimeReached = DateTime.Now
                };

                OnThresholdreached(t);
            }
コード例 #2
0
            //add a number to total, if number is greater than threshold, runs an event.
            public void Add(int i)
            {
                total += i;

                ThresholdEventArgs args = new ThresholdEventArgs();

                args.WhenHappened = DateTime.Now;
                args.ValueGreaterThanThreshold = total;

                if (total > THRESHOLD)
                {
                    //runs event handler statements
                    this.OnThresholdReachedEventHandler?.Invoke(this, args);//suggested syntax
                }
                else
                {
                    //runs event handler statements
                    EventHandler <ThresholdEventArgs> notReachedHandler = this.OnThresholdNotReachedEventHandler;//old syntax
                    if (notReachedHandler != null)
                    {
                        notReachedHandler(this, args);
                    }
                }
            }
コード例 #3
0
 //when threshold is not reached, prints a message just for info
 private static void counter_OnThresholdNotReachedEventHandler(object sender, ThresholdEventArgs e)
 {
     //here we have event handler statements
     Console.WriteLine($"INFO: Threshold not reached at {e.WhenHappened}: Total is {e.ValueGreaterThanThreshold}.");
 }
コード例 #4
0
 private void OnThresholdreached(ThresholdEventArgs threshold)
 {
     ThresholdReached?.Invoke(this, threshold);
 }
コード例 #5
0
 private static void c_Thresholdreached(object sender, ThresholdEventArgs e)
 {
     Console.WriteLine($"Threshold value {e.Value} at time {e.TimeReached}.");
 }