Eventos

0 respostas
edymrex

C# tem um recurso interresante que é o evento fiz umas classes de exemplo:

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace Events
{
  class EventosFiguras:EventArgs
  {
    public EventosFiguras(string tipo)
    {
      this.Tipo = tipo;
    }

    private string _tipo;

    public string Tipo
    {
      get { return _tipo; }
      set { _tipo = value; }
    }
   
  }

  class DadosFiguras
  {
    public delegate void figurasHandler(object sender, EventosFiguras e);
    public event figurasHandler callFuguras;
    int cont = 0;

    public void subscriber()
    {
      callFuguras += new DadosFiguras.figurasHandler(mostraDados);
    }

    public void mostraDados(object sender, EventosFiguras e)
    {
      Console.WriteLine("Criando figura " + e.Tipo);
    }

    public void exibeFiguras()
    {
      while(true)
      {
        Thread.Sleep(100);
        if (cont % 3 == 0)
        {
          EventosFiguras e = new EventosFiguras("Quadrado");
          callFuguras(this, e);
        }
        else if (cont % 3 == 1)
        {
          EventosFiguras e = new EventosFiguras("Retângulo");
          callFuguras(this, e);
        }

        else if (cont % 3 == 2)
        {
          EventosFiguras e = new EventosFiguras("Losangulo");
          callFuguras(this, e);

        }

        cont++;

      }
    }
  
  }

  public class ChamaEvento
  {
    public static void Main(string[] args)
    {
      DadosFiguras obj = new DadosFiguras();
      obj.subscriber();
      obj.exibeFiguras();
    }
  }
}

Mesmo sabendo usar eu não sei em quais situações eu devo aplicar o evento, alguém que já trabalho com evento pode me explicar …?

Criado 23 de junho de 2008
Respostas 0
Participantes 1