zoukankan      html  css  js  c++  java
  • EventHandler<TEventArgs>委托

     1 using System;
     2 
     3 namespace ConsoleApplication1
     4 {
     5     class Program
     6     {
     7         static void Main(string[] args)
     8         {
     9             Counter c = new Counter(new Random().Next(10));
    10             c.ThresholdReached += c_ThresholdReached;
    11 
    12             Console.WriteLine("press 'a' key to increase total");
    13             while (Console.ReadKey(true).KeyChar == 'a')
    14             {
    15                 Console.WriteLine("adding one");
    16                 c.Add(1);
    17             }
    18         }
    19 
    20         static void c_ThresholdReached(object sender, ThresholdReachedEventArgs e)
    21         {
    22             Console.WriteLine("The threshold of {0} was reached at {1}.", e.Threshold,  e.TimeReached);
    23             Environment.Exit(0);
    24         }
    25     }
    26 
    27     class Counter
    28     {
    29         private int threshold;
    30         private int total;
    31 
    32         public Counter(int passedThreshold)
    33         {
    34             threshold = passedThreshold;
    35         }
    36 
    37         public void Add(int x)
    38         {
    39             total += x;
    40             if (total >= threshold)
    41             {
    42                 ThresholdReachedEventArgs args = new ThresholdReachedEventArgs();
    43                 args.Threshold = threshold;
    44                 args.TimeReached = DateTime.Now;
    45                 OnThresholdReached(args);
    46             }
    47         }
    48 
    49         protected virtual void OnThresholdReached(ThresholdReachedEventArgs e)
    50         {
    51             EventHandler<ThresholdReachedEventArgs> handler = ThresholdReached;
    52             if (handler != null)
    53             {
    54                 handler(this, e);
    55             }
    56         }
    57 
    58         public event EventHandler<ThresholdReachedEventArgs> ThresholdReached;
    59     }
    60 
    61     public class ThresholdReachedEventArgs : EventArgs
    62     {
    63         public int Threshold { get; set; }
    64         public DateTime TimeReached { get; set; }
    65     }
    66 }
  • 相关阅读:
    一个省一等奖没文件没证书,只能保存一张图呢
    HTML5的新结构标签
    一个最简单的网页是如何构成的
    数据模型层Model
    空控制器空操作
    TP框架
    thinkphp基础
    静态缓存
    smarty函数
    Smarty的使用
  • 原文地址:https://www.cnblogs.com/ZeedLee/p/10571505.html
Copyright © 2011-2022 走看看