Tutorial C# - Delegates e Eventos...

Documentos relacionados
Tutorial C# - Nova temporada

Tutorial C# - Linq to XML

Aprenda a instalar o Windows 10 no VirtualBox

Mundo Arduino: Vamos começar a programar?

Dica: Crie um ponto de restauro com o rato!

Monte um Servidor de DHCP no Windows 7

Tutorial C# - ADO.NET

Programação em Java Iniciação - Por Bruno Rodrigues

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

FunctionFlip - Controle as Teclas F do seu Mac

Dica - Recuperar o espaço real da sua pen USB

Como criar o seu próprio Menu Iniciar no Windows 8

Como activar/desactivar a conta Administrador no Windows 10

ASP.NET Área Administrativa

Tutorial Photoshop #3 Efeito de reflexo

Gestão do seu Hotmail na sua conta de Gmail?

Aprenda a descarregar legendas com o Sublight

Nimbus - Configuração de um Servidor de Backup

Como adicionar e mudar idiomas no Windows 8

10 dicas do Gmail que deveria conhecer

Como formatar com segurança um disco rígido no seu Mac

Como montar um servidor FTP em Windows

Black Hat SEO: O que é, para que serve e algumas técnicas

05 Como utilizar POO no ambiente gráfico do C#?

Imprima de forma fácil do seu ipad, ipod Touch e iphone

Duas propostas para recuperar ficheiros apagados no Android

Dica - Como bloquear ligações no iphone

Comunicação entre PC e Arduino

Desenvolvimento de Aplicações Móveis com HTML5

Windows Server 2008 Vamos criar um domínio

Sabe como migrar os seus SMS's do iphone para um Android?

Introdução ao C# (CSharp)

Tutorial C# Inserção de dados em MySQL

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Projecto Deskmod Windows 7 Alterar Botão do Menu Iniciar

Saiba como fazer Jailbreak no Windows RT

Dual boot XP ou Vista e o Windows 7

Microsoft disponibiliza Outlook para iphone e ipad

Carbon - Uma poderosa aplicação de backup para Android

MongoDB: Manipular a base de dados NoSQL no Windows 10

MongoDB: Instalar e configurar a BD NoSQL no Windows 10

Aprenda a instalar o Windows 8 no VirtualBox

Kodi: Como fazer o backup e restauro

Classes e Objetos POO

Wubi - Como Instalar Ubuntu a partir do Windows

Gmail está ainda mais seguro

Verifique problemas de Performance no Windows 7

Como criar um ISO do Windows 8 para posterior instalação?

BitLocker To Go - PenUSB protegida!

Computação II Orientação a Objetos

Redes: Quais as diferenças entre o Protocolo TCP e UDP

Chegou o meu Microsoft Surface RT

Computação II Orientação a Objetos

Dicas de VBA - Personalizar o Friso I

Chat Heads do Facebook - Também já as pode ter no OS X

YouTube - 9 truques que tem de conhecer

ColdFusion - Aprender a programar

Aprenda como fazer - Dual Boot: Windows 8 vs Linux

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Windows Server 2012: Aprenda a instalar o Active Directory

A rede wireless do vizinho interfere com a minha?

5 / 5. Powered by TCPDF (

5 Aplicações que não necessita de instalar no Windows 8

Modificadores de Acesso e Atributos de Classe

Notas de Aula 09: Tratamento de exceções

Proteja-se configurando bem o Windows Defender no Windows 10

Guia do Facebook: Como criar uma conta na rede social?

Configurar um servidor de DNS no Ubuntu via Webmin

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

O Windows desde... sempre! - Parte #0

Teclado. PdP. Autor: Tiago Lone Nível: Básico Criação: 20/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Instalação do ClearOS como Gateway/Firewall Parte I

Histórico de Revisões

LG G3: 10 coisas que precisa de saber

Sabe fazer backups do Windows 10? E recuperar ficheiros?

Microsoft Touch Mouse - O Novo Rato da Microsoft

5 aplicações da Microsoft essenciais para utilizadores do Android

Gravatar - Como meter a sua imagem nos comentários

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 20 Jan/2017.

Como utilizar o Histórico de Ficheiros no Windows 10

Hotmail: Microsoft lança aplicação oficial para Android...

Aprenda a usar a Firewall do Windows 8 (Parte I)

Livro Orvalho De Luz Pdf Download ->->->-> DOWNLOAD

Análise: Pode o Windows 10 Mobile substituir um computador?

Outra das características mais conhecidas era o ser necessário manter um dedo a pressionar o ecrã para que a imagem fosse vista.

Vamos Programar? - Introdução à Programação #3

RELATÓRIO DE VALORES POR FAIXA DE CONSUMO

Aprenda a instalar o FreeBSD 10 passo a passo

Dica: Arrancar Windows 8 no Desktop

Sabe ligar-se a uma VPN através do Android?

Dicas para melhorar o Windows 8

Uma Questão de Estilo Elementos de Estilo Java

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Djl O Steam do Linux

Quer ter acesso ao Inbox sem convite? Existe uma forma simples

Disk Drill 3 - Como recuperar dados perdidos no meu Smartphone?

Capturando Entrada de Dados Através do Teclado

Conheça 5 boas extensões para usar no Edge

Transcrição:

Tutorial C# - Delegates e Eventos... Date : 16 de Março de 2009 Olá a todos. Hoje vou-vos falar de Delegates e Eventos, o que são e para que servem. Esta é a aplicação que vos disponibilizo para testarem tudo o que aqui vamos falar. Delegates, são apontadores para funções, ou seja, são funções que nos permitem invocar outras. Eventos, utilizam os delegates para fazer a ponte entre as mensagens da aplicação e as nossas funções. Os delegates são classes, logo podem ser declarados dentro e foras de uma classe, vai depender do nível de visibilidade que queremos que eles tenham. Os delegates instanciam-se como todas as classes só que os parâmetros são nomes de uma função. Neste caso estamos a instanciar o delegate testedelegate que foi definido em cima para a variável "t" que está a apontar para a função de nome "metodo" http://www.pplware.com Pplware 1 / 6

Os delegates podem ser chamados também de forma assincrona, ou seja, noutro thread (mais tarde falaremos de multithreading) o que vai aumentar a performance porque a função é executada em background e caso o processo seja demorado não bloqueia a aplicação. Usa-se do método BeginInvoke() Este método leva como parâmetros os parâmetros do delegate uma instância da classe AsyncCallback se quisermos resposta quando o processo termina e também o valor que queremos que nos devolva o AssyncState. Esta função de callback e utilizada para saber se o processo já terminou, visto não termos essa percepção porque o sistema não o está a executar no UI(User Interface). http://www.pplware.com Pplware 2 / 6

Multicast Podemos chamar uma ou mais funções por ordem de adição. Para adicionar funções a um delegate utiliza-se o += para retirar é o -=. Como se vê na figura vão ser executadas as duas funções e vão aparecer duas messagebox. Anonymous Delegates A capacidade de não ser necessário criar um método para o delegate em vez disso é um bloco de código usado como parâmetro do delegate. http://www.pplware.com Pplware 3 / 6

Assim evitamos como acontece nas imagens anteriores, de criar uma função para o delegate, escrevemos logo o bloco de código. Nesta imagem vemos também as lambda expressions uma nova funcionalidade do C# 3.0. Eventos As aplicações desenvolvidas em.net são "message-based" o que significa que a aplicação comunica com o windows e com ela própria através de mensagens. O Receiver ou Handler, é quem está á espera do evento(mensagem) - É aqui que os delegates entram em acção. Sender, será responsável por gerar (Raise) o evento no caso de eventos do rato ou teclado o sender é o.net runtime. Nota: o sender não tem conhecimento para quem está a enviar a mensagem, logo utilizam-se os delegates A assinatura de uma função que recebe o evento é sempre esta sem retorno e como parâmetros um objecto e uma classe derivada de EventArgs http://www.pplware.com Pplware 4 / 6

Vamos criar o nosso evento: Passo 1: declaramos um enveto e um delegate public delegate void NossoEventHandler(object sender, NossoEventArgs e); public event NossoEventHandler DisparaEvento; Passo 2: Criamos a nossa classe derivada de EventArgs, neste caso só retorna uma string public class NossoEventArgs : EventArgs { public string _texto; public NossoEventArgs(string texto) { _texto = texto; } } http://www.pplware.com Pplware 5 / 6

Powered by TCPDF (www.tcpdf.org) Passo 3: Definimos o eventhandler (a função que vai receber o evento) DisparaEvento += new NossoEventHandler(NossoEvento); ("DisparaEvento" é o nosso evento que recebe o delegate "NossoEventHandler" que aponta para a nossa função "NossoEvento") :) simples não é?! Passo 4: Definimos a nossa função que vai servir de Handler, como é um evento que chama a função tem de ter sempre a assinatura objecto e EventArgs. public void NossoEvento(object sender, NossoEventArgs e) { //Fim do nosso evento com os nossos eventargs MessageBox.Show(e._texto); } Passo 5: Chamar o nosso evento DisparaEvento(this, new NossoEventArgs("Ola")); (this é o objecto, a nossa classe derivada de EventArgs que leva uma string como parâmetro). No final ao chamar este evento vamos estar a chamar a nossa função "NossoEvento" e mostramos uma messagebox com o texto "Ola" que passamos no EventArgs. Bom chegamos ao fim de mais uma sessão, esta foi bem puxada mas quem perceber isto está safo no mundo da programação quem não percebeu tem de praticar e passado alguns dias faz isto com uma perna ás costas. Obrigado a todos pelo vosso apoio e até para a semana. PS: Para a semana voltará ao formato de video. Download: Delegantes e Eventos [40.70KB] http://www.pplware.com Pplware 6 / 6