예제 #1
0
 // routine that is going to be called by our Five Handler event
 public void OnFiveEvent(FiveEventArgs e)
 {
     // executing FiveEvent
     if (FiveEv != null)
     {
         FiveEv(this, e);
     }
 }
예제 #2
0
        public static void Main(string[] args)
        {
            // "criando" o evento,
            FiveEvent five = new FiveEvent();

            five.FiveEv += new OnFiveHandler(FiveEvent.Callback);

            /*
             * // um contador para o tipo desse evento
             * //(que tal se esse contador fosse criado como variável de classe?)
             * int cont = 0;
             */
            // e os argumentos que descrevam o evento FiveEventArgs
            FiveEventArgs fiveArgs;

            // geração de números aleatórios
            Random rand = new Random();

            // um timer para contar o tempo (100 milissegundos)
            Timer timer = new Timer();

            timer.Interval = 100;
            timer.Enabled  = true;
            timer.Elapsed += new ElapsedEventHandler(
                delegate(object source, ElapsedEventArgs e)
            {
                //
                // Processando o evento FiveEvent
                //

                // gerar um número aleatório
                int num = rand.Next(50);
                if (num == 5)
                {
                    // Número 5? chame o evento FiveEvent
                    fiveArgs = new FiveEventArgs(FiveEventArgs.fiveEventCounter, DateTime.Now);
                    five.OnFiveEvent(fiveArgs);
                }
                else
                {
                    // senão, imprima o número
                    Console.Write("{0,4}", num);
                }
            }
                );

            // o final...
            Console.ReadKey(true);
        }
예제 #3
0
 // Callback method: it is executed when the FiveEvent is triggered
 public static void Callback(object sender, FiveEventArgs e)
 {
     Console.WriteLine("\nFive Event {0} ocurred at {1}", e.count, e.when);
 }