Events

Descripción

70-483 (Exame 70-483) C# Fichas sobre Events, creado por Thiago Russo el 23/04/2016.
Thiago Russo
Fichas por Thiago Russo, actualizado hace más de 1 año
Thiago Russo
Creado por Thiago Russo hace más de 8 años
7
0

Resumen del Recurso

Pregunta Respuesta
O que são "events" em C#? Um padrão de projeto popular é o "publish-subscribe". Vc se inscreve em um evento e, em seguida, vc será notificado qdo o publicador do evento levanta (raises) um novo evento. Isso é utilizado para estabelecer o acoplamento fraco entre os componentes em uma aplicação. Delegates formam a base para o sistema de eventos em C#.
exemplo de "Using an Action to expose an event"
Apesar do código anterior funcionar, ele apresenta 2 falhas. Quais são? O que o C# oferece para evitar essas falhas? 1) Se alterar a linha de assinatura do método 2 para "=" ao invés de "+=", o método 1 será excluído. 2) A classe Pub gera o evento. No entanto, nada impede que os usuários fora da classe de invocar o evento chamando p.OnChange () Para superar essas falha, a linguagem C# usa a palavra-chave event
exemplo usando a palavra-chave "event" O que muda para o código anterior?
evoluindo a solução com "EventHandler" explicação Tem + uma mudança q vc ainda precisa fazer p/ seguir as convenções de codificação do .NET Framework. Em vez de usar o tipo Action para o seu evento, você deve usar o EventHandler ou EventHandler <T>. EventHandler é declarado como o seguinte delegate: public event EventHandler<MyArgs> OnChange = delegate { }; Por padrão, ele leva um objeto sender e alguns argumentos do evento. O sender é por convenção o objeto que invoca o evento (ou nulo caso se trate de um método estático). Usando EventHandler <T>, você pode especificar o tipo de argumentos de evento que você deseja usar.
exemplo com "EventHandler"
Personalizando a adição e remoção de assinantes com "event accessor"
events são delegates? Se usar a sintaxe regular do event, o compilador gera o assessor para você. Isso deixa claro que os eventos não são delegates; em vez disso eles são um invólucro conveniente ao redor delegates. Delegates são executados em uma ordem sequencial. Geralmente, os delegates são executadas na ordem em que foram adicionados, embora isto não é algo que é especificado dentro do Common Language Infrastructure (CLI), então você não deve depender disso.
exemplo de exception em um dos métodos assinantes
Exemplo de tratar exceções de eventos manualmente (Classe Pub)
Exemplo de tratar exceções de eventos manualmente (chamando a Classe Pub)
Mostrar resumen completo Ocultar resumen completo

Similar

Porova teórica C# mod l
Cursos Professor Jonatã
Linguagem C#
Alex Araujo Furado
Prova teorica C# mo ll
Cursos Professor Jonatã
Entity framework - code first
José Fernandes
Flashcard Módulo 1 - XAMARIN LATINO AMERICA
Marcone Barbosa
Entity framework
José Fernandes
C# and ASP.NET
Kalebi Fiorentini
Linguagens de programação
Rodrigo Barbosa7452
Conceitos do ASP.NET CORE (Incompleto)
José Fernandes Rezende Neto
Dates and times .NET
Felipe Couto Viola
Fluxo Game UC 8
Lucas Coluzzo