示例#1
0
        public frmGerenciadorLatidosCachorros()
        {
            InitializeComponent();
            _gerenciadorLatidos = new GerenciadorLatidos();

            /* A implementação abaixo foi comentada para dar lugar ao uso de expressões lambda,
             * implementadas no trecho abaixo dos comentários.
             * //Ao instanciar a classe do gerenciador, métodos desta classe assinam o evento, no padrão
             * //já visto dos delegates.
             * _gerenciadorLatidos.ExcessoDecibeisEvent += QuandoExcederDecibeis;
             * _gerenciadorLatidos.ExcessoDecibeisEvent += QuandoExcederDecibeisDeNovo;
             */

            /* As linhas abaixo foram criadas na aula sobre expressões lambda, mais especificamente, métodos
             * anônimos. Aqui, as linhas que estão comentadas acima foram substituídas pela implementação abaixo,
             * onde se cria diretamente a lógica do método com um método anônimo. Desta forma, os métodos
             * QuandoExcederDecibeis e QuandoExcederDecibeisDeNovo nunca são chamados e poderiam ser apagados.
             * A vantagem disso é justamente tornar o código mais limpo e uma classe não tão cheia de métodos.
             */
            _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
            {
                ExcessoDecibeisEventArgs eventArgs = (ExcessoDecibeisEventArgs)args;
                MessageBox.Show(string.Format("O cachorro passou dos limites com {0} dB.", eventArgs.IntensidadeLatido),
                                "Excesso de decibéis", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            };
            _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
            {
                MessageBox.Show("Você será multado", "Excesso de decibéis",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            };
        }
 public rfmGerenciador()
 {
     InitializeComponent();
     _gerenciadorLatidos = new GerenciadorLatidos();
     _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
     {
         ExcessoDecibeisEventsArgs arg = (ExcessoDecibeisEventsArgs)args;
         MessageBox.Show(string.Format("O cão passou dos limites. {0} decibeis.", arg.IntensidadeLatido), "Excesso de latidos", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     };
 }
示例#3
0
 public frmGerenciadorLatidos()
 {
     InitializeComponent();
     _gerenciadorLatidos = new GerenciadorLatidos();
     _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
     {
         ExcessoDecibeisEventArgs eventArgs = (ExcessoDecibeisEventArgs)args;
         MessageBox.Show(string.Format("O cachorro passou dos limites, com {0} decibeis. ", eventArgs.IntensidadeLatido, "Excesso de decibéis", MessageBoxButtons.OK, MessageBoxIcon.Warning));
     };
     _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
     {
         MessageBox.Show("Você acbou de levar uma multa ", "Excesso de decibéis", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     };
 }
示例#4
0
        public frmGerenciadorLatidosCachorros()
        {
            InitializeComponent();
            _gerenciadorLatidos = new GerenciadorLatidos();
            //Adicionando assinantes ao evento
            _gerenciadorLatidos.ExcessoDecibeisEvent += QuandoExcederDecibeis;

            //_gerenciadorLatidos.ExcessoDecibeisEvent += QuandoExcederDecibeisDeNovo; //Ao invés de fazer dessa forma, podemos usar um método anônimo
            //Usando lambda podemos fazer um método anônimo para fazer o que o método QuandoExcederDecibeisDeNovo fazia
            //Lembrando que delegates events sempre recebem um object "sender" e o argumento do evento "args"
            _gerenciadorLatidos.ExcessoDecibeisEvent += (sender, args) =>
            {
                MessageBox.Show("Você acabou de levar uma multa.", "Excesso de decibéis", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            };
        }